1 ; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=cortex-a8 -O0 -filetype=obj -o %t.o 2 ; RUN: llc < %s -mtriple=thumb-apple-ios -mcpu=cortex-a8 -O0 -filetype=obj -o %t.o 3 ; RUN: llc < %s -mtriple=arm-apple-ios -mcpu=cortex-a8 -O2 -filetype=obj -verify-machineinstrs -o %t.o 4 ; RUN: llc < %s -mtriple=thumb-apple-ios -mcpu=cortex-a8 -O2 -filetype=obj -verify-machineinstrs -o %t.o 5 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" 6 7 ; This function comes from the Bullet test. It is quite big, and exercises the 8 ; constant island pass a bit. It has caused failures, including 9 ; <rdar://problem/10670199> 10 ; 11 ; It is unlikely that this code will continue to create the exact conditions 12 ; that broke the arm constant island pass in the past, but it is still useful to 13 ; force the pass to split basic blocks etc. 14 ; 15 ; The run lines above force the integrated assembler to be enabled so it can 16 ; catch any illegal displacements. Other than that, we depend on the constant 17 ; island pass assertions. 18 19 %class.btVector3 = type { [4 x float] } 20 %class.btTransform = type { %class.btMatrix3x3, %class.btVector3 } 21 %class.btMatrix3x3 = type { [3 x %class.btVector3] } 22 %class.btCapsuleShape = type { %class.btConvexInternalShape, i32 } 23 %class.btConvexInternalShape = type { %class.btConvexShape, %class.btVector3, %class.btVector3, float, float } 24 %class.btConvexShape = type { %class.btCollisionShape } 25 %class.btCollisionShape = type { i32 (...)**, i32, i8* } 26 %class.RagDoll = type { i32 (...)**, %class.btDynamicsWorld*, [11 x %class.btCollisionShape*], [11 x %class.btRigidBody*], [10 x %class.btTypedConstraint*] } 27 %class.btDynamicsWorld = type { %class.btCollisionWorld, void (%class.btDynamicsWorld*, float)*, void (%class.btDynamicsWorld*, float)*, i8*, %struct.btContactSolverInfo } 28 %class.btCollisionWorld = type { i32 (...)**, %class.btAlignedObjectArray, %class.btDispatcher*, %struct.btDispatcherInfo, %class.btStackAlloc*, %class.btBroadphaseInterface*, %class.btIDebugDraw*, i8 } 29 %class.btAlignedObjectArray = type { %class.btAlignedAllocator, i32, i32, %class.btCollisionObject**, i8 } 30 %class.btAlignedAllocator = type { i8 } 31 %class.btCollisionObject = type { i32 (...)**, %class.btTransform, %class.btTransform, %class.btVector3, %class.btVector3, %class.btVector3, i8, float, %struct.btBroadphaseProxy*, %class.btCollisionShape*, %class.btCollisionShape*, i32, i32, i32, i32, float, float, float, i8*, i32, float, float, float, i8, [7 x i8] } 32 %struct.btBroadphaseProxy = type { i8*, i16, i16, i8*, i32, %class.btVector3, %class.btVector3 } 33 %class.btDispatcher = type { i32 (...)** } 34 %struct.btDispatcherInfo = type { float, i32, i32, float, i8, %class.btIDebugDraw*, i8, i8, i8, float, i8, float, %class.btStackAlloc* } 35 %class.btIDebugDraw = type { i32 (...)** } 36 %class.btStackAlloc = type opaque 37 %class.btBroadphaseInterface = type { i32 (...)** } 38 %struct.btContactSolverInfo = type { %struct.btContactSolverInfoData } 39 %struct.btContactSolverInfoData = type { float, float, float, float, float, i32, float, float, float, float, float, i32, float, float, float, i32, i32 } 40 %class.btRigidBody = type { %class.btCollisionObject, %class.btMatrix3x3, %class.btVector3, %class.btVector3, float, %class.btVector3, %class.btVector3, %class.btVector3, %class.btVector3, %class.btVector3, %class.btVector3, %class.btVector3, float, float, i8, float, float, float, float, float, float, %class.btMotionState*, %class.btAlignedObjectArray.22, i32, i32, i32 } 41 %class.btMotionState = type { i32 (...)** } 42 %class.btAlignedObjectArray.22 = type { %class.btAlignedAllocator.23, i32, i32, %class.btTypedConstraint**, i8 } 43 %class.btAlignedAllocator.23 = type { i8 } 44 %class.btTypedConstraint = type { i32 (...)**, %struct.btTypedObject, i32, i32, i8, %class.btRigidBody*, %class.btRigidBody*, float, float, %class.btVector3, %class.btVector3, %class.btVector3 } 45 %struct.btTypedObject = type { i32 } 46 %class.btHingeConstraint = type { %class.btTypedConstraint, [3 x %class.btJacobianEntry], [3 x %class.btJacobianEntry], %class.btTransform, %class.btTransform, float, float, float, float, float, float, float, float, float, float, float, float, float, i8, i8, i8, i8, i8, float } 47 %class.btJacobianEntry = type { %class.btVector3, %class.btVector3, %class.btVector3, %class.btVector3, %class.btVector3, float } 48 %class.btConeTwistConstraint = type { %class.btTypedConstraint, [3 x %class.btJacobianEntry], %class.btTransform, %class.btTransform, float, float, float, float, float, float, float, float, %class.btVector3, %class.btVector3, float, float, float, float, float, float, float, float, i8, i8, i8, i8, float, float, %class.btVector3, i8, i8, %class.btQuaternion, float, %class.btVector3 } 49 %class.btQuaternion = type { %class.btQuadWord } 50 %class.btQuadWord = type { [4 x float] } 51 52 @_ZTV7RagDoll = external unnamed_addr constant [4 x i8*] 53 54 declare noalias i8* @_Znwm(i32) 55 56 declare i32 @__gxx_personality_sj0(...) 57 58 declare void @_ZdlPv(i8*) nounwind 59 60 declare %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3*, float*, float*, float*) unnamed_addr inlinehint ssp align 2 61 62 declare void @_ZSt9terminatev() 63 64 declare %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform*) unnamed_addr ssp align 2 65 66 declare void @_ZN11btTransform11setIdentityEv(%class.btTransform*) ssp align 2 67 68 declare void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform*, %class.btVector3*) nounwind inlinehint ssp align 2 69 70 declare i8* @_ZN13btConvexShapenwEm(i32) inlinehint ssp align 2 71 72 declare void @_ZN13btConvexShapedlEPv(i8*) inlinehint ssp align 2 73 74 declare %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape*, float, float) 75 76 declare %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform*) nounwind inlinehint ssp align 2 77 78 define %class.RagDoll* @_ZN7RagDollC2EP15btDynamicsWorldRK9btVector3f(%class.RagDoll* %this, %class.btDynamicsWorld* %ownerWorld, %class.btVector3* %positionOffset, float %scale) unnamed_addr ssp align 2 personality i8* bitcast (i32 (...)* @__gxx_personality_sj0 to i8*) { 79 entry: 80 %retval = alloca %class.RagDoll*, align 4 81 %this.addr = alloca %class.RagDoll*, align 4 82 %ownerWorld.addr = alloca %class.btDynamicsWorld*, align 4 83 %positionOffset.addr = alloca %class.btVector3*, align 4 84 %scale.addr = alloca float, align 4 85 %exn.slot = alloca i8* 86 %ehselector.slot = alloca i32 87 %offset = alloca %class.btTransform, align 4 88 %transform = alloca %class.btTransform, align 4 89 %ref.tmp = alloca %class.btVector3, align 4 90 %ref.tmp97 = alloca %class.btVector3, align 4 91 %ref.tmp98 = alloca float, align 4 92 %ref.tmp99 = alloca float, align 4 93 %ref.tmp100 = alloca float, align 4 94 %ref.tmp102 = alloca %class.btTransform, align 4 95 %ref.tmp107 = alloca %class.btVector3, align 4 96 %ref.tmp108 = alloca %class.btVector3, align 4 97 %ref.tmp109 = alloca float, align 4 98 %ref.tmp110 = alloca float, align 4 99 %ref.tmp111 = alloca float, align 4 100 %ref.tmp113 = alloca %class.btTransform, align 4 101 %ref.tmp119 = alloca %class.btVector3, align 4 102 %ref.tmp120 = alloca %class.btVector3, align 4 103 %ref.tmp121 = alloca float, align 4 104 %ref.tmp122 = alloca float, align 4 105 %ref.tmp123 = alloca float, align 4 106 %ref.tmp125 = alloca %class.btTransform, align 4 107 %ref.tmp131 = alloca %class.btVector3, align 4 108 %ref.tmp132 = alloca %class.btVector3, align 4 109 %ref.tmp133 = alloca float, align 4 110 %ref.tmp134 = alloca float, align 4 111 %ref.tmp135 = alloca float, align 4 112 %ref.tmp137 = alloca %class.btTransform, align 4 113 %ref.tmp143 = alloca %class.btVector3, align 4 114 %ref.tmp144 = alloca %class.btVector3, align 4 115 %ref.tmp145 = alloca float, align 4 116 %ref.tmp146 = alloca float, align 4 117 %ref.tmp147 = alloca float, align 4 118 %ref.tmp149 = alloca %class.btTransform, align 4 119 %ref.tmp155 = alloca %class.btVector3, align 4 120 %ref.tmp156 = alloca %class.btVector3, align 4 121 %ref.tmp157 = alloca float, align 4 122 %ref.tmp158 = alloca float, align 4 123 %ref.tmp159 = alloca float, align 4 124 %ref.tmp161 = alloca %class.btTransform, align 4 125 %ref.tmp167 = alloca %class.btVector3, align 4 126 %ref.tmp168 = alloca %class.btVector3, align 4 127 %ref.tmp169 = alloca float, align 4 128 %ref.tmp170 = alloca float, align 4 129 %ref.tmp171 = alloca float, align 4 130 %ref.tmp173 = alloca %class.btTransform, align 4 131 %ref.tmp179 = alloca %class.btVector3, align 4 132 %ref.tmp180 = alloca %class.btVector3, align 4 133 %ref.tmp181 = alloca float, align 4 134 %ref.tmp182 = alloca float, align 4 135 %ref.tmp183 = alloca float, align 4 136 %ref.tmp186 = alloca %class.btTransform, align 4 137 %ref.tmp192 = alloca %class.btVector3, align 4 138 %ref.tmp193 = alloca %class.btVector3, align 4 139 %ref.tmp194 = alloca float, align 4 140 %ref.tmp195 = alloca float, align 4 141 %ref.tmp196 = alloca float, align 4 142 %ref.tmp199 = alloca %class.btTransform, align 4 143 %ref.tmp205 = alloca %class.btVector3, align 4 144 %ref.tmp206 = alloca %class.btVector3, align 4 145 %ref.tmp207 = alloca float, align 4 146 %ref.tmp208 = alloca float, align 4 147 %ref.tmp209 = alloca float, align 4 148 %ref.tmp212 = alloca %class.btTransform, align 4 149 %ref.tmp218 = alloca %class.btVector3, align 4 150 %ref.tmp219 = alloca %class.btVector3, align 4 151 %ref.tmp220 = alloca float, align 4 152 %ref.tmp221 = alloca float, align 4 153 %ref.tmp222 = alloca float, align 4 154 %ref.tmp225 = alloca %class.btTransform, align 4 155 %i = alloca i32, align 4 156 %hingeC = alloca %class.btHingeConstraint*, align 4 157 %coneC = alloca %class.btConeTwistConstraint*, align 4 158 %localA = alloca %class.btTransform, align 4 159 %localB = alloca %class.btTransform, align 4 160 %ref.tmp240 = alloca %class.btVector3, align 4 161 %ref.tmp241 = alloca %class.btVector3, align 4 162 %ref.tmp242 = alloca float, align 4 163 %ref.tmp243 = alloca float, align 4 164 %ref.tmp244 = alloca float, align 4 165 %ref.tmp247 = alloca %class.btVector3, align 4 166 %ref.tmp248 = alloca %class.btVector3, align 4 167 %ref.tmp249 = alloca float, align 4 168 %ref.tmp250 = alloca float, align 4 169 %ref.tmp251 = alloca float, align 4 170 %ref.tmp266 = alloca %class.btVector3, align 4 171 %ref.tmp267 = alloca %class.btVector3, align 4 172 %ref.tmp268 = alloca float, align 4 173 %ref.tmp269 = alloca float, align 4 174 %ref.tmp270 = alloca float, align 4 175 %ref.tmp273 = alloca %class.btVector3, align 4 176 %ref.tmp274 = alloca %class.btVector3, align 4 177 %ref.tmp275 = alloca float, align 4 178 %ref.tmp276 = alloca float, align 4 179 %ref.tmp277 = alloca float, align 4 180 %ref.tmp295 = alloca %class.btVector3, align 4 181 %ref.tmp296 = alloca %class.btVector3, align 4 182 %ref.tmp297 = alloca float, align 4 183 %ref.tmp298 = alloca float, align 4 184 %ref.tmp299 = alloca float, align 4 185 %ref.tmp302 = alloca %class.btVector3, align 4 186 %ref.tmp303 = alloca %class.btVector3, align 4 187 %ref.tmp304 = alloca float, align 4 188 %ref.tmp305 = alloca float, align 4 189 %ref.tmp306 = alloca float, align 4 190 %ref.tmp324 = alloca %class.btVector3, align 4 191 %ref.tmp325 = alloca %class.btVector3, align 4 192 %ref.tmp326 = alloca float, align 4 193 %ref.tmp327 = alloca float, align 4 194 %ref.tmp328 = alloca float, align 4 195 %ref.tmp331 = alloca %class.btVector3, align 4 196 %ref.tmp332 = alloca %class.btVector3, align 4 197 %ref.tmp333 = alloca float, align 4 198 %ref.tmp334 = alloca float, align 4 199 %ref.tmp335 = alloca float, align 4 200 %ref.tmp353 = alloca %class.btVector3, align 4 201 %ref.tmp354 = alloca %class.btVector3, align 4 202 %ref.tmp355 = alloca float, align 4 203 %ref.tmp356 = alloca float, align 4 204 %ref.tmp357 = alloca float, align 4 205 %ref.tmp360 = alloca %class.btVector3, align 4 206 %ref.tmp361 = alloca %class.btVector3, align 4 207 %ref.tmp362 = alloca float, align 4 208 %ref.tmp363 = alloca float, align 4 209 %ref.tmp364 = alloca float, align 4 210 %ref.tmp382 = alloca %class.btVector3, align 4 211 %ref.tmp383 = alloca %class.btVector3, align 4 212 %ref.tmp384 = alloca float, align 4 213 %ref.tmp385 = alloca float, align 4 214 %ref.tmp386 = alloca float, align 4 215 %ref.tmp389 = alloca %class.btVector3, align 4 216 %ref.tmp390 = alloca %class.btVector3, align 4 217 %ref.tmp391 = alloca float, align 4 218 %ref.tmp392 = alloca float, align 4 219 %ref.tmp393 = alloca float, align 4 220 %ref.tmp411 = alloca %class.btVector3, align 4 221 %ref.tmp412 = alloca %class.btVector3, align 4 222 %ref.tmp413 = alloca float, align 4 223 %ref.tmp414 = alloca float, align 4 224 %ref.tmp415 = alloca float, align 4 225 %ref.tmp418 = alloca %class.btVector3, align 4 226 %ref.tmp419 = alloca %class.btVector3, align 4 227 %ref.tmp420 = alloca float, align 4 228 %ref.tmp421 = alloca float, align 4 229 %ref.tmp422 = alloca float, align 4 230 %ref.tmp440 = alloca %class.btVector3, align 4 231 %ref.tmp441 = alloca %class.btVector3, align 4 232 %ref.tmp442 = alloca float, align 4 233 %ref.tmp443 = alloca float, align 4 234 %ref.tmp444 = alloca float, align 4 235 %ref.tmp447 = alloca %class.btVector3, align 4 236 %ref.tmp448 = alloca %class.btVector3, align 4 237 %ref.tmp449 = alloca float, align 4 238 %ref.tmp450 = alloca float, align 4 239 %ref.tmp451 = alloca float, align 4 240 %ref.tmp469 = alloca %class.btVector3, align 4 241 %ref.tmp470 = alloca %class.btVector3, align 4 242 %ref.tmp471 = alloca float, align 4 243 %ref.tmp472 = alloca float, align 4 244 %ref.tmp473 = alloca float, align 4 245 %ref.tmp476 = alloca %class.btVector3, align 4 246 %ref.tmp477 = alloca %class.btVector3, align 4 247 %ref.tmp478 = alloca float, align 4 248 %ref.tmp479 = alloca float, align 4 249 %ref.tmp480 = alloca float, align 4 250 %ref.tmp498 = alloca %class.btVector3, align 4 251 %ref.tmp499 = alloca %class.btVector3, align 4 252 %ref.tmp500 = alloca float, align 4 253 %ref.tmp501 = alloca float, align 4 254 %ref.tmp502 = alloca float, align 4 255 %ref.tmp505 = alloca %class.btVector3, align 4 256 %ref.tmp506 = alloca %class.btVector3, align 4 257 %ref.tmp507 = alloca float, align 4 258 %ref.tmp508 = alloca float, align 4 259 %ref.tmp509 = alloca float, align 4 260 store %class.RagDoll* %this, %class.RagDoll** %this.addr, align 4 261 store %class.btDynamicsWorld* %ownerWorld, %class.btDynamicsWorld** %ownerWorld.addr, align 4 262 store %class.btVector3* %positionOffset, %class.btVector3** %positionOffset.addr, align 4 263 store float %scale, float* %scale.addr, align 4 264 %this1 = load %class.RagDoll*, %class.RagDoll** %this.addr 265 store %class.RagDoll* %this1, %class.RagDoll** %retval 266 %0 = bitcast %class.RagDoll* %this1 to i8*** 267 store i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV7RagDoll, i64 0, i64 2), i8*** %0 268 %m_ownerWorld = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 269 %1 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %ownerWorld.addr, align 4 270 store %class.btDynamicsWorld* %1, %class.btDynamicsWorld** %m_ownerWorld, align 4 271 %call = call i8* @_ZN13btConvexShapenwEm(i32 56) 272 %2 = bitcast i8* %call to %class.btCapsuleShape* 273 %3 = load float, float* %scale.addr, align 4 274 %mul = fmul float 0x3FC3333340000000, %3 275 %4 = load float, float* %scale.addr, align 4 276 %mul2 = fmul float 0x3FC99999A0000000, %4 277 %call3 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %2, float %mul, float %mul2) 278 to label %invoke.cont unwind label %lpad 279 280 invoke.cont: ; preds = %entry 281 %5 = bitcast %class.btCapsuleShape* %2 to %class.btCollisionShape* 282 %m_shapes = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 283 %arrayidx = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes, i32 0, i32 0 284 store %class.btCollisionShape* %5, %class.btCollisionShape** %arrayidx, align 4 285 %call5 = call i8* @_ZN13btConvexShapenwEm(i32 56) 286 %6 = bitcast i8* %call5 to %class.btCapsuleShape* 287 %7 = load float, float* %scale.addr, align 4 288 %mul6 = fmul float 0x3FC3333340000000, %7 289 %8 = load float, float* %scale.addr, align 4 290 %mul7 = fmul float 0x3FD1EB8520000000, %8 291 %call10 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %6, float %mul6, float %mul7) 292 to label %invoke.cont9 unwind label %lpad8 293 294 invoke.cont9: ; preds = %invoke.cont 295 %9 = bitcast %class.btCapsuleShape* %6 to %class.btCollisionShape* 296 %m_shapes12 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 297 %arrayidx13 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes12, i32 0, i32 1 298 store %class.btCollisionShape* %9, %class.btCollisionShape** %arrayidx13, align 4 299 %call14 = call i8* @_ZN13btConvexShapenwEm(i32 56) 300 %10 = bitcast i8* %call14 to %class.btCapsuleShape* 301 %11 = load float, float* %scale.addr, align 4 302 %mul15 = fmul float 0x3FB99999A0000000, %11 303 %12 = load float, float* %scale.addr, align 4 304 %mul16 = fmul float 0x3FA99999A0000000, %12 305 %call19 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %10, float %mul15, float %mul16) 306 to label %invoke.cont18 unwind label %lpad17 307 308 invoke.cont18: ; preds = %invoke.cont9 309 %13 = bitcast %class.btCapsuleShape* %10 to %class.btCollisionShape* 310 %m_shapes21 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 311 %arrayidx22 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes21, i32 0, i32 2 312 store %class.btCollisionShape* %13, %class.btCollisionShape** %arrayidx22, align 4 313 %call23 = call i8* @_ZN13btConvexShapenwEm(i32 56) 314 %14 = bitcast i8* %call23 to %class.btCapsuleShape* 315 %15 = load float, float* %scale.addr, align 4 316 %mul24 = fmul float 0x3FB1EB8520000000, %15 317 %16 = load float, float* %scale.addr, align 4 318 %mul25 = fmul float 0x3FDCCCCCC0000000, %16 319 %call28 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %14, float %mul24, float %mul25) 320 to label %invoke.cont27 unwind label %lpad26 321 322 invoke.cont27: ; preds = %invoke.cont18 323 %17 = bitcast %class.btCapsuleShape* %14 to %class.btCollisionShape* 324 %m_shapes30 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 325 %arrayidx31 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes30, i32 0, i32 3 326 store %class.btCollisionShape* %17, %class.btCollisionShape** %arrayidx31, align 4 327 %call32 = call i8* @_ZN13btConvexShapenwEm(i32 56) 328 %18 = bitcast i8* %call32 to %class.btCapsuleShape* 329 %19 = load float, float* %scale.addr, align 4 330 %mul33 = fmul float 0x3FA99999A0000000, %19 331 %20 = load float, float* %scale.addr, align 4 332 %mul34 = fmul float 0x3FD7AE1480000000, %20 333 %call37 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %18, float %mul33, float %mul34) 334 to label %invoke.cont36 unwind label %lpad35 335 336 invoke.cont36: ; preds = %invoke.cont27 337 %21 = bitcast %class.btCapsuleShape* %18 to %class.btCollisionShape* 338 %m_shapes39 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 339 %arrayidx40 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes39, i32 0, i32 4 340 store %class.btCollisionShape* %21, %class.btCollisionShape** %arrayidx40, align 4 341 %call41 = call i8* @_ZN13btConvexShapenwEm(i32 56) 342 %22 = bitcast i8* %call41 to %class.btCapsuleShape* 343 %23 = load float, float* %scale.addr, align 4 344 %mul42 = fmul float 0x3FB1EB8520000000, %23 345 %24 = load float, float* %scale.addr, align 4 346 %mul43 = fmul float 0x3FDCCCCCC0000000, %24 347 %call46 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %22, float %mul42, float %mul43) 348 to label %invoke.cont45 unwind label %lpad44 349 350 invoke.cont45: ; preds = %invoke.cont36 351 %25 = bitcast %class.btCapsuleShape* %22 to %class.btCollisionShape* 352 %m_shapes48 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 353 %arrayidx49 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes48, i32 0, i32 5 354 store %class.btCollisionShape* %25, %class.btCollisionShape** %arrayidx49, align 4 355 %call50 = call i8* @_ZN13btConvexShapenwEm(i32 56) 356 %26 = bitcast i8* %call50 to %class.btCapsuleShape* 357 %27 = load float, float* %scale.addr, align 4 358 %mul51 = fmul float 0x3FA99999A0000000, %27 359 %28 = load float, float* %scale.addr, align 4 360 %mul52 = fmul float 0x3FD7AE1480000000, %28 361 %call55 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %26, float %mul51, float %mul52) 362 to label %invoke.cont54 unwind label %lpad53 363 364 invoke.cont54: ; preds = %invoke.cont45 365 %29 = bitcast %class.btCapsuleShape* %26 to %class.btCollisionShape* 366 %m_shapes57 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 367 %arrayidx58 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes57, i32 0, i32 6 368 store %class.btCollisionShape* %29, %class.btCollisionShape** %arrayidx58, align 4 369 %call59 = call i8* @_ZN13btConvexShapenwEm(i32 56) 370 %30 = bitcast i8* %call59 to %class.btCapsuleShape* 371 %31 = load float, float* %scale.addr, align 4 372 %mul60 = fmul float 0x3FA99999A0000000, %31 373 %32 = load float, float* %scale.addr, align 4 374 %mul61 = fmul float 0x3FD51EB860000000, %32 375 %call64 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %30, float %mul60, float %mul61) 376 to label %invoke.cont63 unwind label %lpad62 377 378 invoke.cont63: ; preds = %invoke.cont54 379 %33 = bitcast %class.btCapsuleShape* %30 to %class.btCollisionShape* 380 %m_shapes66 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 381 %arrayidx67 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes66, i32 0, i32 7 382 store %class.btCollisionShape* %33, %class.btCollisionShape** %arrayidx67, align 4 383 %call68 = call i8* @_ZN13btConvexShapenwEm(i32 56) 384 %34 = bitcast i8* %call68 to %class.btCapsuleShape* 385 %35 = load float, float* %scale.addr, align 4 386 %mul69 = fmul float 0x3FA47AE140000000, %35 387 %36 = load float, float* %scale.addr, align 4 388 %mul70 = fmul float 2.500000e-01, %36 389 %call73 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %34, float %mul69, float %mul70) 390 to label %invoke.cont72 unwind label %lpad71 391 392 invoke.cont72: ; preds = %invoke.cont63 393 %37 = bitcast %class.btCapsuleShape* %34 to %class.btCollisionShape* 394 %m_shapes75 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 395 %arrayidx76 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes75, i32 0, i32 8 396 store %class.btCollisionShape* %37, %class.btCollisionShape** %arrayidx76, align 4 397 %call77 = call i8* @_ZN13btConvexShapenwEm(i32 56) 398 %38 = bitcast i8* %call77 to %class.btCapsuleShape* 399 %39 = load float, float* %scale.addr, align 4 400 %mul78 = fmul float 0x3FA99999A0000000, %39 401 %40 = load float, float* %scale.addr, align 4 402 %mul79 = fmul float 0x3FD51EB860000000, %40 403 %call82 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %38, float %mul78, float %mul79) 404 to label %invoke.cont81 unwind label %lpad80 405 406 invoke.cont81: ; preds = %invoke.cont72 407 %41 = bitcast %class.btCapsuleShape* %38 to %class.btCollisionShape* 408 %m_shapes84 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 409 %arrayidx85 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes84, i32 0, i32 9 410 store %class.btCollisionShape* %41, %class.btCollisionShape** %arrayidx85, align 4 411 %call86 = call i8* @_ZN13btConvexShapenwEm(i32 56) 412 %42 = bitcast i8* %call86 to %class.btCapsuleShape* 413 %43 = load float, float* %scale.addr, align 4 414 %mul87 = fmul float 0x3FA47AE140000000, %43 415 %44 = load float, float* %scale.addr, align 4 416 %mul88 = fmul float 2.500000e-01, %44 417 %call91 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %42, float %mul87, float %mul88) 418 to label %invoke.cont90 unwind label %lpad89 419 420 invoke.cont90: ; preds = %invoke.cont81 421 %45 = bitcast %class.btCapsuleShape* %42 to %class.btCollisionShape* 422 %m_shapes93 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 423 %arrayidx94 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes93, i32 0, i32 10 424 store %class.btCollisionShape* %45, %class.btCollisionShape** %arrayidx94, align 4 425 %call95 = call %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform* %offset) 426 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %offset) 427 %46 = load %class.btVector3*, %class.btVector3** %positionOffset.addr, align 4 428 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %offset, %class.btVector3* %46) 429 %call96 = call %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform* %transform) 430 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 431 store float 0.000000e+00, float* %ref.tmp98, align 4 432 store float 1.000000e+00, float* %ref.tmp99, align 4 433 store float 0.000000e+00, float* %ref.tmp100, align 4 434 %call101 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp97, float* %ref.tmp98, float* %ref.tmp99, float* %ref.tmp100) 435 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp, float* %scale.addr, %class.btVector3* %ref.tmp97) 436 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp) 437 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp102, %class.btTransform* %offset, %class.btTransform* %transform) 438 %m_shapes103 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 439 %arrayidx104 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes103, i32 0, i32 0 440 %47 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx104, align 4 441 %call105 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp102, %class.btCollisionShape* %47) 442 %m_bodies = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 443 %arrayidx106 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies, i32 0, i32 0 444 store %class.btRigidBody* %call105, %class.btRigidBody** %arrayidx106, align 4 445 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 446 store float 0.000000e+00, float* %ref.tmp109, align 4 447 store float 0x3FF3333340000000, float* %ref.tmp110, align 4 448 store float 0.000000e+00, float* %ref.tmp111, align 4 449 %call112 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp108, float* %ref.tmp109, float* %ref.tmp110, float* %ref.tmp111) 450 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp107, float* %scale.addr, %class.btVector3* %ref.tmp108) 451 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp107) 452 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp113, %class.btTransform* %offset, %class.btTransform* %transform) 453 %m_shapes114 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 454 %arrayidx115 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes114, i32 0, i32 1 455 %48 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx115, align 4 456 %call116 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp113, %class.btCollisionShape* %48) 457 %m_bodies117 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 458 %arrayidx118 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies117, i32 0, i32 1 459 store %class.btRigidBody* %call116, %class.btRigidBody** %arrayidx118, align 4 460 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 461 store float 0.000000e+00, float* %ref.tmp121, align 4 462 store float 0x3FF99999A0000000, float* %ref.tmp122, align 4 463 store float 0.000000e+00, float* %ref.tmp123, align 4 464 %call124 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp120, float* %ref.tmp121, float* %ref.tmp122, float* %ref.tmp123) 465 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp119, float* %scale.addr, %class.btVector3* %ref.tmp120) 466 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp119) 467 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp125, %class.btTransform* %offset, %class.btTransform* %transform) 468 %m_shapes126 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 469 %arrayidx127 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes126, i32 0, i32 2 470 %49 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx127, align 4 471 %call128 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp125, %class.btCollisionShape* %49) 472 %m_bodies129 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 473 %arrayidx130 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies129, i32 0, i32 2 474 store %class.btRigidBody* %call128, %class.btRigidBody** %arrayidx130, align 4 475 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 476 store float 0xBFC70A3D80000000, float* %ref.tmp133, align 4 477 store float 0x3FE4CCCCC0000000, float* %ref.tmp134, align 4 478 store float 0.000000e+00, float* %ref.tmp135, align 4 479 %call136 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp132, float* %ref.tmp133, float* %ref.tmp134, float* %ref.tmp135) 480 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp131, float* %scale.addr, %class.btVector3* %ref.tmp132) 481 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp131) 482 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp137, %class.btTransform* %offset, %class.btTransform* %transform) 483 %m_shapes138 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 484 %arrayidx139 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes138, i32 0, i32 3 485 %50 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx139, align 4 486 %call140 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp137, %class.btCollisionShape* %50) 487 %m_bodies141 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 488 %arrayidx142 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies141, i32 0, i32 3 489 store %class.btRigidBody* %call140, %class.btRigidBody** %arrayidx142, align 4 490 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 491 store float 0xBFC70A3D80000000, float* %ref.tmp145, align 4 492 store float 0x3FC99999A0000000, float* %ref.tmp146, align 4 493 store float 0.000000e+00, float* %ref.tmp147, align 4 494 %call148 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp144, float* %ref.tmp145, float* %ref.tmp146, float* %ref.tmp147) 495 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp143, float* %scale.addr, %class.btVector3* %ref.tmp144) 496 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp143) 497 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp149, %class.btTransform* %offset, %class.btTransform* %transform) 498 %m_shapes150 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 499 %arrayidx151 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes150, i32 0, i32 4 500 %51 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx151, align 4 501 %call152 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp149, %class.btCollisionShape* %51) 502 %m_bodies153 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 503 %arrayidx154 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies153, i32 0, i32 4 504 store %class.btRigidBody* %call152, %class.btRigidBody** %arrayidx154, align 4 505 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 506 store float 0x3FC70A3D80000000, float* %ref.tmp157, align 4 507 store float 0x3FE4CCCCC0000000, float* %ref.tmp158, align 4 508 store float 0.000000e+00, float* %ref.tmp159, align 4 509 %call160 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp156, float* %ref.tmp157, float* %ref.tmp158, float* %ref.tmp159) 510 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp155, float* %scale.addr, %class.btVector3* %ref.tmp156) 511 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp155) 512 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp161, %class.btTransform* %offset, %class.btTransform* %transform) 513 %m_shapes162 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 514 %arrayidx163 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes162, i32 0, i32 5 515 %52 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx163, align 4 516 %call164 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp161, %class.btCollisionShape* %52) 517 %m_bodies165 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 518 %arrayidx166 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies165, i32 0, i32 5 519 store %class.btRigidBody* %call164, %class.btRigidBody** %arrayidx166, align 4 520 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 521 store float 0x3FC70A3D80000000, float* %ref.tmp169, align 4 522 store float 0x3FC99999A0000000, float* %ref.tmp170, align 4 523 store float 0.000000e+00, float* %ref.tmp171, align 4 524 %call172 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp168, float* %ref.tmp169, float* %ref.tmp170, float* %ref.tmp171) 525 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp167, float* %scale.addr, %class.btVector3* %ref.tmp168) 526 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp167) 527 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp173, %class.btTransform* %offset, %class.btTransform* %transform) 528 %m_shapes174 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 529 %arrayidx175 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes174, i32 0, i32 6 530 %53 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx175, align 4 531 %call176 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp173, %class.btCollisionShape* %53) 532 %m_bodies177 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 533 %arrayidx178 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies177, i32 0, i32 6 534 store %class.btRigidBody* %call176, %class.btRigidBody** %arrayidx178, align 4 535 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 536 store float 0xBFD6666660000000, float* %ref.tmp181, align 4 537 store float 0x3FF7333340000000, float* %ref.tmp182, align 4 538 store float 0.000000e+00, float* %ref.tmp183, align 4 539 %call184 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp180, float* %ref.tmp181, float* %ref.tmp182, float* %ref.tmp183) 540 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp179, float* %scale.addr, %class.btVector3* %ref.tmp180) 541 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp179) 542 %call185 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) 543 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call185, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) 544 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp186, %class.btTransform* %offset, %class.btTransform* %transform) 545 %m_shapes187 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 546 %arrayidx188 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes187, i32 0, i32 7 547 %54 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx188, align 4 548 %call189 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp186, %class.btCollisionShape* %54) 549 %m_bodies190 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 550 %arrayidx191 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies190, i32 0, i32 7 551 store %class.btRigidBody* %call189, %class.btRigidBody** %arrayidx191, align 4 552 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 553 store float 0xBFE6666660000000, float* %ref.tmp194, align 4 554 store float 0x3FF7333340000000, float* %ref.tmp195, align 4 555 store float 0.000000e+00, float* %ref.tmp196, align 4 556 %call197 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp193, float* %ref.tmp194, float* %ref.tmp195, float* %ref.tmp196) 557 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp192, float* %scale.addr, %class.btVector3* %ref.tmp193) 558 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp192) 559 %call198 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) 560 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call198, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) 561 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp199, %class.btTransform* %offset, %class.btTransform* %transform) 562 %m_shapes200 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 563 %arrayidx201 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes200, i32 0, i32 8 564 %55 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx201, align 4 565 %call202 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp199, %class.btCollisionShape* %55) 566 %m_bodies203 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 567 %arrayidx204 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies203, i32 0, i32 8 568 store %class.btRigidBody* %call202, %class.btRigidBody** %arrayidx204, align 4 569 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 570 store float 0x3FD6666660000000, float* %ref.tmp207, align 4 571 store float 0x3FF7333340000000, float* %ref.tmp208, align 4 572 store float 0.000000e+00, float* %ref.tmp209, align 4 573 %call210 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp206, float* %ref.tmp207, float* %ref.tmp208, float* %ref.tmp209) 574 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp205, float* %scale.addr, %class.btVector3* %ref.tmp206) 575 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp205) 576 %call211 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) 577 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call211, float 0.000000e+00, float 0.000000e+00, float 0xBFF921FB60000000) 578 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp212, %class.btTransform* %offset, %class.btTransform* %transform) 579 %m_shapes213 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 580 %arrayidx214 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes213, i32 0, i32 9 581 %56 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx214, align 4 582 %call215 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp212, %class.btCollisionShape* %56) 583 %m_bodies216 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 584 %arrayidx217 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies216, i32 0, i32 9 585 store %class.btRigidBody* %call215, %class.btRigidBody** %arrayidx217, align 4 586 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) 587 store float 0x3FE6666660000000, float* %ref.tmp220, align 4 588 store float 0x3FF7333340000000, float* %ref.tmp221, align 4 589 store float 0.000000e+00, float* %ref.tmp222, align 4 590 %call223 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp219, float* %ref.tmp220, float* %ref.tmp221, float* %ref.tmp222) 591 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp218, float* %scale.addr, %class.btVector3* %ref.tmp219) 592 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp218) 593 %call224 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) 594 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call224, float 0.000000e+00, float 0.000000e+00, float 0xBFF921FB60000000) 595 call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp225, %class.btTransform* %offset, %class.btTransform* %transform) 596 %m_shapes226 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 597 %arrayidx227 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes226, i32 0, i32 10 598 %57 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx227, align 4 599 %call228 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp225, %class.btCollisionShape* %57) 600 %m_bodies229 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 601 %arrayidx230 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies229, i32 0, i32 10 602 store %class.btRigidBody* %call228, %class.btRigidBody** %arrayidx230, align 4 603 store i32 0, i32* %i, align 4 604 br label %for.cond 605 606 for.cond: ; preds = %for.inc, %invoke.cont90 607 %58 = load i32, i32* %i, align 4 608 %cmp = icmp slt i32 %58, 11 609 br i1 %cmp, label %for.body, label %for.end 610 611 for.body: ; preds = %for.cond 612 %59 = load i32, i32* %i, align 4 613 %m_bodies231 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 614 %arrayidx232 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies231, i32 0, i32 %59 615 %60 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx232, align 4 616 call void @_ZN11btRigidBody10setDampingEff(%class.btRigidBody* %60, float 0x3FA99999A0000000, float 0x3FEB333340000000) 617 %61 = load i32, i32* %i, align 4 618 %m_bodies233 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 619 %arrayidx234 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies233, i32 0, i32 %61 620 %62 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx234, align 4 621 %63 = bitcast %class.btRigidBody* %62 to %class.btCollisionObject* 622 call void @_ZN17btCollisionObject19setDeactivationTimeEf(%class.btCollisionObject* %63, float 0x3FE99999A0000000) 623 %64 = load i32, i32* %i, align 4 624 %m_bodies235 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 625 %arrayidx236 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies235, i32 0, i32 %64 626 %65 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx236, align 4 627 call void @_ZN11btRigidBody21setSleepingThresholdsEff(%class.btRigidBody* %65, float 0x3FF99999A0000000, float 2.500000e+00) 628 br label %for.inc 629 630 for.inc: ; preds = %for.body 631 %66 = load i32, i32* %i, align 4 632 %inc = add nsw i32 %66, 1 633 store i32 %inc, i32* %i, align 4 634 br label %for.cond 635 636 lpad: ; preds = %entry 637 %67 = landingpad { i8*, i32 } 638 cleanup 639 %68 = extractvalue { i8*, i32 } %67, 0 640 store i8* %68, i8** %exn.slot 641 %69 = extractvalue { i8*, i32 } %67, 1 642 store i32 %69, i32* %ehselector.slot 643 invoke void @_ZN13btConvexShapedlEPv(i8* %call) 644 to label %invoke.cont4 unwind label %terminate.lpad 645 646 invoke.cont4: ; preds = %lpad 647 br label %eh.resume 648 649 lpad8: ; preds = %invoke.cont 650 %70 = landingpad { i8*, i32 } 651 cleanup 652 %71 = extractvalue { i8*, i32 } %70, 0 653 store i8* %71, i8** %exn.slot 654 %72 = extractvalue { i8*, i32 } %70, 1 655 store i32 %72, i32* %ehselector.slot 656 invoke void @_ZN13btConvexShapedlEPv(i8* %call5) 657 to label %invoke.cont11 unwind label %terminate.lpad 658 659 invoke.cont11: ; preds = %lpad8 660 br label %eh.resume 661 662 lpad17: ; preds = %invoke.cont9 663 %73 = landingpad { i8*, i32 } 664 cleanup 665 %74 = extractvalue { i8*, i32 } %73, 0 666 store i8* %74, i8** %exn.slot 667 %75 = extractvalue { i8*, i32 } %73, 1 668 store i32 %75, i32* %ehselector.slot 669 invoke void @_ZN13btConvexShapedlEPv(i8* %call14) 670 to label %invoke.cont20 unwind label %terminate.lpad 671 672 invoke.cont20: ; preds = %lpad17 673 br label %eh.resume 674 675 lpad26: ; preds = %invoke.cont18 676 %76 = landingpad { i8*, i32 } 677 cleanup 678 %77 = extractvalue { i8*, i32 } %76, 0 679 store i8* %77, i8** %exn.slot 680 %78 = extractvalue { i8*, i32 } %76, 1 681 store i32 %78, i32* %ehselector.slot 682 invoke void @_ZN13btConvexShapedlEPv(i8* %call23) 683 to label %invoke.cont29 unwind label %terminate.lpad 684 685 invoke.cont29: ; preds = %lpad26 686 br label %eh.resume 687 688 lpad35: ; preds = %invoke.cont27 689 %79 = landingpad { i8*, i32 } 690 cleanup 691 %80 = extractvalue { i8*, i32 } %79, 0 692 store i8* %80, i8** %exn.slot 693 %81 = extractvalue { i8*, i32 } %79, 1 694 store i32 %81, i32* %ehselector.slot 695 invoke void @_ZN13btConvexShapedlEPv(i8* %call32) 696 to label %invoke.cont38 unwind label %terminate.lpad 697 698 invoke.cont38: ; preds = %lpad35 699 br label %eh.resume 700 701 lpad44: ; preds = %invoke.cont36 702 %82 = landingpad { i8*, i32 } 703 cleanup 704 %83 = extractvalue { i8*, i32 } %82, 0 705 store i8* %83, i8** %exn.slot 706 %84 = extractvalue { i8*, i32 } %82, 1 707 store i32 %84, i32* %ehselector.slot 708 invoke void @_ZN13btConvexShapedlEPv(i8* %call41) 709 to label %invoke.cont47 unwind label %terminate.lpad 710 711 invoke.cont47: ; preds = %lpad44 712 br label %eh.resume 713 714 lpad53: ; preds = %invoke.cont45 715 %85 = landingpad { i8*, i32 } 716 cleanup 717 %86 = extractvalue { i8*, i32 } %85, 0 718 store i8* %86, i8** %exn.slot 719 %87 = extractvalue { i8*, i32 } %85, 1 720 store i32 %87, i32* %ehselector.slot 721 invoke void @_ZN13btConvexShapedlEPv(i8* %call50) 722 to label %invoke.cont56 unwind label %terminate.lpad 723 724 invoke.cont56: ; preds = %lpad53 725 br label %eh.resume 726 727 lpad62: ; preds = %invoke.cont54 728 %88 = landingpad { i8*, i32 } 729 cleanup 730 %89 = extractvalue { i8*, i32 } %88, 0 731 store i8* %89, i8** %exn.slot 732 %90 = extractvalue { i8*, i32 } %88, 1 733 store i32 %90, i32* %ehselector.slot 734 invoke void @_ZN13btConvexShapedlEPv(i8* %call59) 735 to label %invoke.cont65 unwind label %terminate.lpad 736 737 invoke.cont65: ; preds = %lpad62 738 br label %eh.resume 739 740 lpad71: ; preds = %invoke.cont63 741 %91 = landingpad { i8*, i32 } 742 cleanup 743 %92 = extractvalue { i8*, i32 } %91, 0 744 store i8* %92, i8** %exn.slot 745 %93 = extractvalue { i8*, i32 } %91, 1 746 store i32 %93, i32* %ehselector.slot 747 invoke void @_ZN13btConvexShapedlEPv(i8* %call68) 748 to label %invoke.cont74 unwind label %terminate.lpad 749 750 invoke.cont74: ; preds = %lpad71 751 br label %eh.resume 752 753 lpad80: ; preds = %invoke.cont72 754 %94 = landingpad { i8*, i32 } 755 cleanup 756 %95 = extractvalue { i8*, i32 } %94, 0 757 store i8* %95, i8** %exn.slot 758 %96 = extractvalue { i8*, i32 } %94, 1 759 store i32 %96, i32* %ehselector.slot 760 invoke void @_ZN13btConvexShapedlEPv(i8* %call77) 761 to label %invoke.cont83 unwind label %terminate.lpad 762 763 invoke.cont83: ; preds = %lpad80 764 br label %eh.resume 765 766 lpad89: ; preds = %invoke.cont81 767 %97 = landingpad { i8*, i32 } 768 cleanup 769 %98 = extractvalue { i8*, i32 } %97, 0 770 store i8* %98, i8** %exn.slot 771 %99 = extractvalue { i8*, i32 } %97, 1 772 store i32 %99, i32* %ehselector.slot 773 invoke void @_ZN13btConvexShapedlEPv(i8* %call86) 774 to label %invoke.cont92 unwind label %terminate.lpad 775 776 invoke.cont92: ; preds = %lpad89 777 br label %eh.resume 778 779 for.end: ; preds = %for.cond 780 %call237 = call %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform* %localA) 781 %call238 = call %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform* %localB) 782 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 783 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 784 %call239 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 785 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call239, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 786 store float 0.000000e+00, float* %ref.tmp242, align 4 787 store float 0x3FC3333340000000, float* %ref.tmp243, align 4 788 store float 0.000000e+00, float* %ref.tmp244, align 4 789 %call245 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp241, float* %ref.tmp242, float* %ref.tmp243, float* %ref.tmp244) 790 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp240, float* %scale.addr, %class.btVector3* %ref.tmp241) 791 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp240) 792 %call246 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 793 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call246, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 794 store float 0.000000e+00, float* %ref.tmp249, align 4 795 store float 0xBFC3333340000000, float* %ref.tmp250, align 4 796 store float 0.000000e+00, float* %ref.tmp251, align 4 797 %call252 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp248, float* %ref.tmp249, float* %ref.tmp250, float* %ref.tmp251) 798 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp247, float* %scale.addr, %class.btVector3* %ref.tmp248) 799 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp247) 800 %call253 = call noalias i8* @_Znwm(i32 780) 801 %100 = bitcast i8* %call253 to %class.btHingeConstraint* 802 %m_bodies254 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 803 %arrayidx255 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies254, i32 0, i32 0 804 %101 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx255, align 4 805 %m_bodies256 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 806 %arrayidx257 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies256, i32 0, i32 1 807 %102 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx257, align 4 808 %call260 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %100, %class.btRigidBody* %101, %class.btRigidBody* %102, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) 809 to label %invoke.cont259 unwind label %lpad258 810 811 invoke.cont259: ; preds = %for.end 812 store %class.btHingeConstraint* %100, %class.btHingeConstraint** %hingeC, align 4 813 %103 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 814 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %103, float 0xBFE921FB60000000, float 0x3FF921FB60000000, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) 815 %104 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 816 %105 = bitcast %class.btHingeConstraint* %104 to %class.btTypedConstraint* 817 %m_joints = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 818 %arrayidx261 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints, i32 0, i32 0 819 store %class.btTypedConstraint* %105, %class.btTypedConstraint** %arrayidx261, align 4 820 %m_ownerWorld262 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 821 %106 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld262, align 4 822 %107 = bitcast %class.btDynamicsWorld* %106 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 823 %vtable = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %107 824 %vfn = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable, i64 10 825 %108 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn 826 %m_joints263 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 827 %arrayidx264 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints263, i32 0, i32 0 828 %109 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx264, align 4 829 call void %108(%class.btDynamicsWorld* %106, %class.btTypedConstraint* %109, i1 zeroext true) 830 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 831 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 832 %call265 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 833 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call265, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) 834 store float 0.000000e+00, float* %ref.tmp268, align 4 835 store float 0x3FD3333340000000, float* %ref.tmp269, align 4 836 store float 0.000000e+00, float* %ref.tmp270, align 4 837 %call271 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp267, float* %ref.tmp268, float* %ref.tmp269, float* %ref.tmp270) 838 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp266, float* %scale.addr, %class.btVector3* %ref.tmp267) 839 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp266) 840 %call272 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 841 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call272, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) 842 store float 0.000000e+00, float* %ref.tmp275, align 4 843 store float 0xBFC1EB8520000000, float* %ref.tmp276, align 4 844 store float 0.000000e+00, float* %ref.tmp277, align 4 845 %call278 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp274, float* %ref.tmp275, float* %ref.tmp276, float* %ref.tmp277) 846 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp273, float* %scale.addr, %class.btVector3* %ref.tmp274) 847 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp273) 848 %call279 = call noalias i8* @_Znwm(i32 628) 849 %110 = bitcast i8* %call279 to %class.btConeTwistConstraint* 850 %m_bodies280 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 851 %arrayidx281 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies280, i32 0, i32 1 852 %111 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx281, align 4 853 %m_bodies282 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 854 %arrayidx283 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies282, i32 0, i32 2 855 %112 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx283, align 4 856 %call286 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %110, %class.btRigidBody* %111, %class.btRigidBody* %112, %class.btTransform* %localA, %class.btTransform* %localB) 857 to label %invoke.cont285 unwind label %lpad284 858 859 invoke.cont285: ; preds = %invoke.cont259 860 store %class.btConeTwistConstraint* %110, %class.btConeTwistConstraint** %coneC, align 4 861 %113 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 862 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %113, float 0x3FE921FB60000000, float 0x3FE921FB60000000, float 0x3FF921FB60000000, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) 863 %114 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 864 %115 = bitcast %class.btConeTwistConstraint* %114 to %class.btTypedConstraint* 865 %m_joints287 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 866 %arrayidx288 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints287, i32 0, i32 1 867 store %class.btTypedConstraint* %115, %class.btTypedConstraint** %arrayidx288, align 4 868 %m_ownerWorld289 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 869 %116 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld289, align 4 870 %117 = bitcast %class.btDynamicsWorld* %116 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 871 %vtable290 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %117 872 %vfn291 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable290, i64 10 873 %118 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn291 874 %m_joints292 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 875 %arrayidx293 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints292, i32 0, i32 1 876 %119 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx293, align 4 877 call void %118(%class.btDynamicsWorld* %116, %class.btTypedConstraint* %119, i1 zeroext true) 878 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 879 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 880 %call294 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 881 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call294, float 0.000000e+00, float 0.000000e+00, float 0xC00F6A7A20000000) 882 store float 0xBFC70A3D80000000, float* %ref.tmp297, align 4 883 store float 0xBFB99999A0000000, float* %ref.tmp298, align 4 884 store float 0.000000e+00, float* %ref.tmp299, align 4 885 %call300 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp296, float* %ref.tmp297, float* %ref.tmp298, float* %ref.tmp299) 886 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp295, float* %scale.addr, %class.btVector3* %ref.tmp296) 887 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp295) 888 %call301 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 889 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call301, float 0.000000e+00, float 0.000000e+00, float 0xC00F6A7A20000000) 890 store float 0.000000e+00, float* %ref.tmp304, align 4 891 store float 0x3FCCCCCCC0000000, float* %ref.tmp305, align 4 892 store float 0.000000e+00, float* %ref.tmp306, align 4 893 %call307 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp303, float* %ref.tmp304, float* %ref.tmp305, float* %ref.tmp306) 894 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp302, float* %scale.addr, %class.btVector3* %ref.tmp303) 895 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp302) 896 %call308 = call noalias i8* @_Znwm(i32 628) 897 %120 = bitcast i8* %call308 to %class.btConeTwistConstraint* 898 %m_bodies309 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 899 %arrayidx310 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies309, i32 0, i32 0 900 %121 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx310, align 4 901 %m_bodies311 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 902 %arrayidx312 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies311, i32 0, i32 3 903 %122 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx312, align 4 904 %call315 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %120, %class.btRigidBody* %121, %class.btRigidBody* %122, %class.btTransform* %localA, %class.btTransform* %localB) 905 to label %invoke.cont314 unwind label %lpad313 906 907 invoke.cont314: ; preds = %invoke.cont285 908 store %class.btConeTwistConstraint* %120, %class.btConeTwistConstraint** %coneC, align 4 909 %123 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 910 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %123, float 0x3FE921FB60000000, float 0x3FE921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) 911 %124 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 912 %125 = bitcast %class.btConeTwistConstraint* %124 to %class.btTypedConstraint* 913 %m_joints316 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 914 %arrayidx317 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints316, i32 0, i32 2 915 store %class.btTypedConstraint* %125, %class.btTypedConstraint** %arrayidx317, align 4 916 %m_ownerWorld318 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 917 %126 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld318, align 4 918 %127 = bitcast %class.btDynamicsWorld* %126 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 919 %vtable319 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %127 920 %vfn320 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable319, i64 10 921 %128 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn320 922 %m_joints321 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 923 %arrayidx322 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints321, i32 0, i32 2 924 %129 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx322, align 4 925 call void %128(%class.btDynamicsWorld* %126, %class.btTypedConstraint* %129, i1 zeroext true) 926 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 927 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 928 %call323 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 929 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call323, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 930 store float 0.000000e+00, float* %ref.tmp326, align 4 931 store float 0xBFCCCCCCC0000000, float* %ref.tmp327, align 4 932 store float 0.000000e+00, float* %ref.tmp328, align 4 933 %call329 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp325, float* %ref.tmp326, float* %ref.tmp327, float* %ref.tmp328) 934 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp324, float* %scale.addr, %class.btVector3* %ref.tmp325) 935 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp324) 936 %call330 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 937 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call330, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 938 store float 0.000000e+00, float* %ref.tmp333, align 4 939 store float 0x3FC7AE1480000000, float* %ref.tmp334, align 4 940 store float 0.000000e+00, float* %ref.tmp335, align 4 941 %call336 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp332, float* %ref.tmp333, float* %ref.tmp334, float* %ref.tmp335) 942 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp331, float* %scale.addr, %class.btVector3* %ref.tmp332) 943 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp331) 944 %call337 = call noalias i8* @_Znwm(i32 780) 945 %130 = bitcast i8* %call337 to %class.btHingeConstraint* 946 %m_bodies338 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 947 %arrayidx339 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies338, i32 0, i32 3 948 %131 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx339, align 4 949 %m_bodies340 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 950 %arrayidx341 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies340, i32 0, i32 4 951 %132 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx341, align 4 952 %call344 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %130, %class.btRigidBody* %131, %class.btRigidBody* %132, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) 953 to label %invoke.cont343 unwind label %lpad342 954 955 invoke.cont343: ; preds = %invoke.cont314 956 store %class.btHingeConstraint* %130, %class.btHingeConstraint** %hingeC, align 4 957 %133 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 958 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %133, float 0.000000e+00, float 0x3FF921FB60000000, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) 959 %134 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 960 %135 = bitcast %class.btHingeConstraint* %134 to %class.btTypedConstraint* 961 %m_joints345 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 962 %arrayidx346 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints345, i32 0, i32 3 963 store %class.btTypedConstraint* %135, %class.btTypedConstraint** %arrayidx346, align 4 964 %m_ownerWorld347 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 965 %136 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld347, align 4 966 %137 = bitcast %class.btDynamicsWorld* %136 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 967 %vtable348 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %137 968 %vfn349 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable348, i64 10 969 %138 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn349 970 %m_joints350 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 971 %arrayidx351 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints350, i32 0, i32 3 972 %139 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx351, align 4 973 call void %138(%class.btDynamicsWorld* %136, %class.btTypedConstraint* %139, i1 zeroext true) 974 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 975 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 976 %call352 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 977 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call352, float 0.000000e+00, float 0.000000e+00, float 0x3FE921FB60000000) 978 store float 0x3FC70A3D80000000, float* %ref.tmp355, align 4 979 store float 0xBFB99999A0000000, float* %ref.tmp356, align 4 980 store float 0.000000e+00, float* %ref.tmp357, align 4 981 %call358 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp354, float* %ref.tmp355, float* %ref.tmp356, float* %ref.tmp357) 982 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp353, float* %scale.addr, %class.btVector3* %ref.tmp354) 983 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp353) 984 %call359 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 985 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call359, float 0.000000e+00, float 0.000000e+00, float 0x3FE921FB60000000) 986 store float 0.000000e+00, float* %ref.tmp362, align 4 987 store float 0x3FCCCCCCC0000000, float* %ref.tmp363, align 4 988 store float 0.000000e+00, float* %ref.tmp364, align 4 989 %call365 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp361, float* %ref.tmp362, float* %ref.tmp363, float* %ref.tmp364) 990 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp360, float* %scale.addr, %class.btVector3* %ref.tmp361) 991 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp360) 992 %call366 = call noalias i8* @_Znwm(i32 628) 993 %140 = bitcast i8* %call366 to %class.btConeTwistConstraint* 994 %m_bodies367 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 995 %arrayidx368 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies367, i32 0, i32 0 996 %141 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx368, align 4 997 %m_bodies369 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 998 %arrayidx370 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies369, i32 0, i32 5 999 %142 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx370, align 4 1000 %call373 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %140, %class.btRigidBody* %141, %class.btRigidBody* %142, %class.btTransform* %localA, %class.btTransform* %localB) 1001 to label %invoke.cont372 unwind label %lpad371 1002 1003 invoke.cont372: ; preds = %invoke.cont343 1004 store %class.btConeTwistConstraint* %140, %class.btConeTwistConstraint** %coneC, align 4 1005 %143 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 1006 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %143, float 0x3FE921FB60000000, float 0x3FE921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) 1007 %144 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 1008 %145 = bitcast %class.btConeTwistConstraint* %144 to %class.btTypedConstraint* 1009 %m_joints374 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1010 %arrayidx375 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints374, i32 0, i32 4 1011 store %class.btTypedConstraint* %145, %class.btTypedConstraint** %arrayidx375, align 4 1012 %m_ownerWorld376 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 1013 %146 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld376, align 4 1014 %147 = bitcast %class.btDynamicsWorld* %146 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 1015 %vtable377 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %147 1016 %vfn378 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable377, i64 10 1017 %148 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn378 1018 %m_joints379 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1019 %arrayidx380 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints379, i32 0, i32 4 1020 %149 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx380, align 4 1021 call void %148(%class.btDynamicsWorld* %146, %class.btTypedConstraint* %149, i1 zeroext true) 1022 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 1023 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 1024 %call381 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 1025 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call381, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 1026 store float 0.000000e+00, float* %ref.tmp384, align 4 1027 store float 0xBFCCCCCCC0000000, float* %ref.tmp385, align 4 1028 store float 0.000000e+00, float* %ref.tmp386, align 4 1029 %call387 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp383, float* %ref.tmp384, float* %ref.tmp385, float* %ref.tmp386) 1030 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp382, float* %scale.addr, %class.btVector3* %ref.tmp383) 1031 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp382) 1032 %call388 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 1033 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call388, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 1034 store float 0.000000e+00, float* %ref.tmp391, align 4 1035 store float 0x3FC7AE1480000000, float* %ref.tmp392, align 4 1036 store float 0.000000e+00, float* %ref.tmp393, align 4 1037 %call394 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp390, float* %ref.tmp391, float* %ref.tmp392, float* %ref.tmp393) 1038 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp389, float* %scale.addr, %class.btVector3* %ref.tmp390) 1039 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp389) 1040 %call395 = call noalias i8* @_Znwm(i32 780) 1041 %150 = bitcast i8* %call395 to %class.btHingeConstraint* 1042 %m_bodies396 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1043 %arrayidx397 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies396, i32 0, i32 5 1044 %151 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx397, align 4 1045 %m_bodies398 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1046 %arrayidx399 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies398, i32 0, i32 6 1047 %152 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx399, align 4 1048 %call402 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %150, %class.btRigidBody* %151, %class.btRigidBody* %152, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) 1049 to label %invoke.cont401 unwind label %lpad400 1050 1051 invoke.cont401: ; preds = %invoke.cont372 1052 store %class.btHingeConstraint* %150, %class.btHingeConstraint** %hingeC, align 4 1053 %153 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 1054 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %153, float 0.000000e+00, float 0x3FF921FB60000000, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) 1055 %154 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 1056 %155 = bitcast %class.btHingeConstraint* %154 to %class.btTypedConstraint* 1057 %m_joints403 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1058 %arrayidx404 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints403, i32 0, i32 5 1059 store %class.btTypedConstraint* %155, %class.btTypedConstraint** %arrayidx404, align 4 1060 %m_ownerWorld405 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 1061 %156 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld405, align 4 1062 %157 = bitcast %class.btDynamicsWorld* %156 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 1063 %vtable406 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %157 1064 %vfn407 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable406, i64 10 1065 %158 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn407 1066 %m_joints408 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1067 %arrayidx409 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints408, i32 0, i32 5 1068 %159 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx409, align 4 1069 call void %158(%class.btDynamicsWorld* %156, %class.btTypedConstraint* %159, i1 zeroext true) 1070 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 1071 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 1072 %call410 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 1073 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call410, float 0.000000e+00, float 0.000000e+00, float 0x400921FB60000000) 1074 store float 0xBFC99999A0000000, float* %ref.tmp413, align 4 1075 store float 0x3FC3333340000000, float* %ref.tmp414, align 4 1076 store float 0.000000e+00, float* %ref.tmp415, align 4 1077 %call416 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp412, float* %ref.tmp413, float* %ref.tmp414, float* %ref.tmp415) 1078 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp411, float* %scale.addr, %class.btVector3* %ref.tmp412) 1079 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp411) 1080 %call417 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 1081 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call417, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) 1082 store float 0.000000e+00, float* %ref.tmp420, align 4 1083 store float 0xBFC70A3D80000000, float* %ref.tmp421, align 4 1084 store float 0.000000e+00, float* %ref.tmp422, align 4 1085 %call423 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp419, float* %ref.tmp420, float* %ref.tmp421, float* %ref.tmp422) 1086 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp418, float* %scale.addr, %class.btVector3* %ref.tmp419) 1087 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp418) 1088 %call424 = call noalias i8* @_Znwm(i32 628) 1089 %160 = bitcast i8* %call424 to %class.btConeTwistConstraint* 1090 %m_bodies425 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1091 %arrayidx426 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies425, i32 0, i32 1 1092 %161 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx426, align 4 1093 %m_bodies427 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1094 %arrayidx428 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies427, i32 0, i32 7 1095 %162 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx428, align 4 1096 %call431 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %160, %class.btRigidBody* %161, %class.btRigidBody* %162, %class.btTransform* %localA, %class.btTransform* %localB) 1097 to label %invoke.cont430 unwind label %lpad429 1098 1099 invoke.cont430: ; preds = %invoke.cont401 1100 store %class.btConeTwistConstraint* %160, %class.btConeTwistConstraint** %coneC, align 4 1101 %163 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 1102 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %163, float 0x3FF921FB60000000, float 0x3FF921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) 1103 %164 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 1104 %165 = bitcast %class.btConeTwistConstraint* %164 to %class.btTypedConstraint* 1105 %m_joints432 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1106 %arrayidx433 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints432, i32 0, i32 6 1107 store %class.btTypedConstraint* %165, %class.btTypedConstraint** %arrayidx433, align 4 1108 %m_ownerWorld434 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 1109 %166 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld434, align 4 1110 %167 = bitcast %class.btDynamicsWorld* %166 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 1111 %vtable435 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %167 1112 %vfn436 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable435, i64 10 1113 %168 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn436 1114 %m_joints437 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1115 %arrayidx438 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints437, i32 0, i32 6 1116 %169 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx438, align 4 1117 call void %168(%class.btDynamicsWorld* %166, %class.btTypedConstraint* %169, i1 zeroext true) 1118 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 1119 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 1120 %call439 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 1121 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call439, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 1122 store float 0.000000e+00, float* %ref.tmp442, align 4 1123 store float 0x3FC70A3D80000000, float* %ref.tmp443, align 4 1124 store float 0.000000e+00, float* %ref.tmp444, align 4 1125 %call445 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp441, float* %ref.tmp442, float* %ref.tmp443, float* %ref.tmp444) 1126 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp440, float* %scale.addr, %class.btVector3* %ref.tmp441) 1127 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp440) 1128 %call446 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 1129 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call446, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 1130 store float 0.000000e+00, float* %ref.tmp449, align 4 1131 store float 0xBFC1EB8520000000, float* %ref.tmp450, align 4 1132 store float 0.000000e+00, float* %ref.tmp451, align 4 1133 %call452 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp448, float* %ref.tmp449, float* %ref.tmp450, float* %ref.tmp451) 1134 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp447, float* %scale.addr, %class.btVector3* %ref.tmp448) 1135 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp447) 1136 %call453 = call noalias i8* @_Znwm(i32 780) 1137 %170 = bitcast i8* %call453 to %class.btHingeConstraint* 1138 %m_bodies454 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1139 %arrayidx455 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies454, i32 0, i32 7 1140 %171 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx455, align 4 1141 %m_bodies456 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1142 %arrayidx457 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies456, i32 0, i32 8 1143 %172 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx457, align 4 1144 %call460 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %170, %class.btRigidBody* %171, %class.btRigidBody* %172, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) 1145 to label %invoke.cont459 unwind label %lpad458 1146 1147 invoke.cont459: ; preds = %invoke.cont430 1148 store %class.btHingeConstraint* %170, %class.btHingeConstraint** %hingeC, align 4 1149 %173 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 1150 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %173, float 0xBFF921FB60000000, float 0.000000e+00, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) 1151 %174 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 1152 %175 = bitcast %class.btHingeConstraint* %174 to %class.btTypedConstraint* 1153 %m_joints461 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1154 %arrayidx462 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints461, i32 0, i32 7 1155 store %class.btTypedConstraint* %175, %class.btTypedConstraint** %arrayidx462, align 4 1156 %m_ownerWorld463 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 1157 %176 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld463, align 4 1158 %177 = bitcast %class.btDynamicsWorld* %176 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 1159 %vtable464 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %177 1160 %vfn465 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable464, i64 10 1161 %178 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn465 1162 %m_joints466 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1163 %arrayidx467 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints466, i32 0, i32 7 1164 %179 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx467, align 4 1165 call void %178(%class.btDynamicsWorld* %176, %class.btTypedConstraint* %179, i1 zeroext true) 1166 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 1167 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 1168 %call468 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 1169 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call468, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00) 1170 store float 0x3FC99999A0000000, float* %ref.tmp471, align 4 1171 store float 0x3FC3333340000000, float* %ref.tmp472, align 4 1172 store float 0.000000e+00, float* %ref.tmp473, align 4 1173 %call474 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp470, float* %ref.tmp471, float* %ref.tmp472, float* %ref.tmp473) 1174 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp469, float* %scale.addr, %class.btVector3* %ref.tmp470) 1175 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp469) 1176 %call475 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 1177 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call475, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) 1178 store float 0.000000e+00, float* %ref.tmp478, align 4 1179 store float 0xBFC70A3D80000000, float* %ref.tmp479, align 4 1180 store float 0.000000e+00, float* %ref.tmp480, align 4 1181 %call481 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp477, float* %ref.tmp478, float* %ref.tmp479, float* %ref.tmp480) 1182 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp476, float* %scale.addr, %class.btVector3* %ref.tmp477) 1183 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp476) 1184 %call482 = call noalias i8* @_Znwm(i32 628) 1185 %180 = bitcast i8* %call482 to %class.btConeTwistConstraint* 1186 %m_bodies483 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1187 %arrayidx484 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies483, i32 0, i32 1 1188 %181 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx484, align 4 1189 %m_bodies485 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1190 %arrayidx486 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies485, i32 0, i32 9 1191 %182 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx486, align 4 1192 %call489 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %180, %class.btRigidBody* %181, %class.btRigidBody* %182, %class.btTransform* %localA, %class.btTransform* %localB) 1193 to label %invoke.cont488 unwind label %lpad487 1194 1195 invoke.cont488: ; preds = %invoke.cont459 1196 store %class.btConeTwistConstraint* %180, %class.btConeTwistConstraint** %coneC, align 4 1197 %183 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 1198 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %183, float 0x3FF921FB60000000, float 0x3FF921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) 1199 %184 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 1200 %185 = bitcast %class.btConeTwistConstraint* %184 to %class.btTypedConstraint* 1201 %m_joints490 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1202 %arrayidx491 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints490, i32 0, i32 8 1203 store %class.btTypedConstraint* %185, %class.btTypedConstraint** %arrayidx491, align 4 1204 %m_ownerWorld492 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 1205 %186 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld492, align 4 1206 %187 = bitcast %class.btDynamicsWorld* %186 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 1207 %vtable493 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %187 1208 %vfn494 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable493, i64 10 1209 %188 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn494 1210 %m_joints495 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1211 %arrayidx496 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints495, i32 0, i32 8 1212 %189 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx496, align 4 1213 call void %188(%class.btDynamicsWorld* %186, %class.btTypedConstraint* %189, i1 zeroext true) 1214 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) 1215 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) 1216 %call497 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localA) 1217 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call497, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 1218 store float 0.000000e+00, float* %ref.tmp500, align 4 1219 store float 0x3FC70A3D80000000, float* %ref.tmp501, align 4 1220 store float 0.000000e+00, float* %ref.tmp502, align 4 1221 %call503 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp499, float* %ref.tmp500, float* %ref.tmp501, float* %ref.tmp502) 1222 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp498, float* %scale.addr, %class.btVector3* %ref.tmp499) 1223 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localA, %class.btVector3* %ref.tmp498) 1224 %call504 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %localB) 1225 call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call504, float 0.000000e+00, float 0x3FF921FB60000000, float 0.000000e+00) 1226 store float 0.000000e+00, float* %ref.tmp507, align 4 1227 store float 0xBFC1EB8520000000, float* %ref.tmp508, align 4 1228 store float 0.000000e+00, float* %ref.tmp509, align 4 1229 %call510 = call %class.btVector3* @_ZN9btVector3C1ERKfS1_S1_(%class.btVector3* %ref.tmp506, float* %ref.tmp507, float* %ref.tmp508, float* %ref.tmp509) 1230 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp505, float* %scale.addr, %class.btVector3* %ref.tmp506) 1231 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp505) 1232 %call511 = call noalias i8* @_Znwm(i32 780) 1233 %190 = bitcast i8* %call511 to %class.btHingeConstraint* 1234 %m_bodies512 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1235 %arrayidx513 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies512, i32 0, i32 9 1236 %191 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx513, align 4 1237 %m_bodies514 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 1238 %arrayidx515 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies514, i32 0, i32 10 1239 %192 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx515, align 4 1240 %call518 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %190, %class.btRigidBody* %191, %class.btRigidBody* %192, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) 1241 to label %invoke.cont517 unwind label %lpad516 1242 1243 invoke.cont517: ; preds = %invoke.cont488 1244 store %class.btHingeConstraint* %190, %class.btHingeConstraint** %hingeC, align 4 1245 %193 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 1246 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %193, float 0xBFF921FB60000000, float 0.000000e+00, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) 1247 %194 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 1248 %195 = bitcast %class.btHingeConstraint* %194 to %class.btTypedConstraint* 1249 %m_joints519 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1250 %arrayidx520 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints519, i32 0, i32 9 1251 store %class.btTypedConstraint* %195, %class.btTypedConstraint** %arrayidx520, align 4 1252 %m_ownerWorld521 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 1253 %196 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld521, align 4 1254 %197 = bitcast %class.btDynamicsWorld* %196 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** 1255 %vtable522 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %197 1256 %vfn523 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable522, i64 10 1257 %198 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn523 1258 %m_joints524 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 1259 %arrayidx525 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints524, i32 0, i32 9 1260 %199 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx525, align 4 1261 call void %198(%class.btDynamicsWorld* %196, %class.btTypedConstraint* %199, i1 zeroext true) 1262 %200 = load %class.RagDoll*, %class.RagDoll** %retval 1263 ret %class.RagDoll* %200 1264 1265 lpad258: ; preds = %for.end 1266 %201 = landingpad { i8*, i32 } 1267 cleanup 1268 %202 = extractvalue { i8*, i32 } %201, 0 1269 store i8* %202, i8** %exn.slot 1270 %203 = extractvalue { i8*, i32 } %201, 1 1271 store i32 %203, i32* %ehselector.slot 1272 call void @_ZdlPv(i8* %call253) nounwind 1273 br label %eh.resume 1274 1275 lpad284: ; preds = %invoke.cont259 1276 %204 = landingpad { i8*, i32 } 1277 cleanup 1278 %205 = extractvalue { i8*, i32 } %204, 0 1279 store i8* %205, i8** %exn.slot 1280 %206 = extractvalue { i8*, i32 } %204, 1 1281 store i32 %206, i32* %ehselector.slot 1282 call void @_ZdlPv(i8* %call279) nounwind 1283 br label %eh.resume 1284 1285 lpad313: ; preds = %invoke.cont285 1286 %207 = landingpad { i8*, i32 } 1287 cleanup 1288 %208 = extractvalue { i8*, i32 } %207, 0 1289 store i8* %208, i8** %exn.slot 1290 %209 = extractvalue { i8*, i32 } %207, 1 1291 store i32 %209, i32* %ehselector.slot 1292 call void @_ZdlPv(i8* %call308) nounwind 1293 br label %eh.resume 1294 1295 lpad342: ; preds = %invoke.cont314 1296 %210 = landingpad { i8*, i32 } 1297 cleanup 1298 %211 = extractvalue { i8*, i32 } %210, 0 1299 store i8* %211, i8** %exn.slot 1300 %212 = extractvalue { i8*, i32 } %210, 1 1301 store i32 %212, i32* %ehselector.slot 1302 call void @_ZdlPv(i8* %call337) nounwind 1303 br label %eh.resume 1304 1305 lpad371: ; preds = %invoke.cont343 1306 %213 = landingpad { i8*, i32 } 1307 cleanup 1308 %214 = extractvalue { i8*, i32 } %213, 0 1309 store i8* %214, i8** %exn.slot 1310 %215 = extractvalue { i8*, i32 } %213, 1 1311 store i32 %215, i32* %ehselector.slot 1312 call void @_ZdlPv(i8* %call366) nounwind 1313 br label %eh.resume 1314 1315 lpad400: ; preds = %invoke.cont372 1316 %216 = landingpad { i8*, i32 } 1317 cleanup 1318 %217 = extractvalue { i8*, i32 } %216, 0 1319 store i8* %217, i8** %exn.slot 1320 %218 = extractvalue { i8*, i32 } %216, 1 1321 store i32 %218, i32* %ehselector.slot 1322 call void @_ZdlPv(i8* %call395) nounwind 1323 br label %eh.resume 1324 1325 lpad429: ; preds = %invoke.cont401 1326 %219 = landingpad { i8*, i32 } 1327 cleanup 1328 %220 = extractvalue { i8*, i32 } %219, 0 1329 store i8* %220, i8** %exn.slot 1330 %221 = extractvalue { i8*, i32 } %219, 1 1331 store i32 %221, i32* %ehselector.slot 1332 call void @_ZdlPv(i8* %call424) nounwind 1333 br label %eh.resume 1334 1335 lpad458: ; preds = %invoke.cont430 1336 %222 = landingpad { i8*, i32 } 1337 cleanup 1338 %223 = extractvalue { i8*, i32 } %222, 0 1339 store i8* %223, i8** %exn.slot 1340 %224 = extractvalue { i8*, i32 } %222, 1 1341 store i32 %224, i32* %ehselector.slot 1342 call void @_ZdlPv(i8* %call453) nounwind 1343 br label %eh.resume 1344 1345 lpad487: ; preds = %invoke.cont459 1346 %225 = landingpad { i8*, i32 } 1347 cleanup 1348 %226 = extractvalue { i8*, i32 } %225, 0 1349 store i8* %226, i8** %exn.slot 1350 %227 = extractvalue { i8*, i32 } %225, 1 1351 store i32 %227, i32* %ehselector.slot 1352 call void @_ZdlPv(i8* %call482) nounwind 1353 br label %eh.resume 1354 1355 lpad516: ; preds = %invoke.cont488 1356 %228 = landingpad { i8*, i32 } 1357 cleanup 1358 %229 = extractvalue { i8*, i32 } %228, 0 1359 store i8* %229, i8** %exn.slot 1360 %230 = extractvalue { i8*, i32 } %228, 1 1361 store i32 %230, i32* %ehselector.slot 1362 call void @_ZdlPv(i8* %call511) nounwind 1363 br label %eh.resume 1364 1365 eh.resume: ; preds = %lpad516, %lpad487, %lpad458, %lpad429, %lpad400, %lpad371, %lpad342, %lpad313, %lpad284, %lpad258, %invoke.cont92, %invoke.cont83, %invoke.cont74, %invoke.cont65, %invoke.cont56, %invoke.cont47, %invoke.cont38, %invoke.cont29, %invoke.cont20, %invoke.cont11, %invoke.cont4 1366 %exn = load i8*, i8** %exn.slot 1367 %sel = load i32, i32* %ehselector.slot 1368 %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 1369 %lpad.val526 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 1370 resume { i8*, i32 } %lpad.val526 1371 1372 terminate.lpad: ; preds = %lpad89, %lpad80, %lpad71, %lpad62, %lpad53, %lpad44, %lpad35, %lpad26, %lpad17, %lpad8, %lpad 1373 %231 = landingpad { i8*, i32 } 1374 catch i8* null 1375 call void @_ZSt9terminatev() noreturn nounwind 1376 unreachable 1377 } 1378 1379 declare void @_ZmlRKfRK9btVector3(%class.btVector3* noalias sret, float*, %class.btVector3*) inlinehint ssp 1380 1381 declare %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll*, float, %class.btTransform*, %class.btCollisionShape*) ssp align 2 1382 1383 declare void @_ZNK11btTransformmlERKS_(%class.btTransform* noalias sret, %class.btTransform*, %class.btTransform*) inlinehint ssp align 2 1384 1385 declare void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3*, float, float, float) ssp align 2 1386 1387 declare void @_ZN11btRigidBody10setDampingEff(%class.btRigidBody*, float, float) 1388 1389 declare void @_ZN17btCollisionObject19setDeactivationTimeEf(%class.btCollisionObject*, float) nounwind ssp align 2 1390 1391 declare void @_ZN11btRigidBody21setSleepingThresholdsEff(%class.btRigidBody*, float, float) nounwind ssp align 2 1392 1393 declare %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint*, %class.btRigidBody*, %class.btRigidBody*, %class.btTransform*, %class.btTransform*, i1 zeroext) 1394 1395 declare void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint*, float, float, float, float, float) ssp align 2 1396 1397 declare %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint*, %class.btRigidBody*, %class.btRigidBody*, %class.btTransform*, %class.btTransform*) 1398 1399 declare void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint*, float, float, float, float, float, float) nounwind ssp align 2 1400