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