reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
  546   IRB.SetInsertPoint(InsertPt);
  549   IRB.SetInsertPoint(BB);
  553   Value *ThrewCmp = IRB.CreateICmpNE(Threw, IRB.getInt32(0));
  553   Value *ThrewCmp = IRB.CreateICmpNE(Threw, IRB.getInt32(0));
  554   Value *ThrewValue = IRB.CreateLoad(IRB.getInt32Ty(), ThrewValueGV,
  554   Value *ThrewValue = IRB.CreateLoad(IRB.getInt32Ty(), ThrewValueGV,
  556   Value *ThrewValueCmp = IRB.CreateICmpNE(ThrewValue, IRB.getInt32(0));
  556   Value *ThrewValueCmp = IRB.CreateICmpNE(ThrewValue, IRB.getInt32(0));
  557   Value *Cmp1 = IRB.CreateAnd(ThrewCmp, ThrewValueCmp, "cmp1");
  558   IRB.CreateCondBr(Cmp1, ThenBB1, ElseBB1);
  562   IRB.SetInsertPoint(ThenBB1);
  565   Value *ThrewInt = IRB.CreateIntToPtr(Threw, Type::getInt32PtrTy(C),
  567   Value *LoadedThrew = IRB.CreateLoad(IRB.getInt32Ty(), ThrewInt,
  567   Value *LoadedThrew = IRB.CreateLoad(IRB.getInt32Ty(), ThrewInt,
  569   Value *ThenLabel = IRB.CreateCall(
  571   Value *Cmp2 = IRB.CreateICmpEQ(ThenLabel, IRB.getInt32(0));
  571   Value *Cmp2 = IRB.CreateICmpEQ(ThenLabel, IRB.getInt32(0));
  572   IRB.CreateCondBr(Cmp2, ThenBB2, EndBB2);
  575   IRB.SetInsertPoint(ThenBB2);
  576   IRB.CreateCall(EmLongjmpF, {Threw, ThrewValue});
  577   IRB.CreateUnreachable();
  580   IRB.SetInsertPoint(EndBB2);
  581   IRB.CreateCall(SetTempRet0Func, ThrewValue);
  582   IRB.CreateBr(EndBB1);
  584   IRB.SetInsertPoint(ElseBB1);
  585   IRB.CreateBr(EndBB1);
  588   IRB.SetInsertPoint(EndBB1);
  589   PHINode *LabelPHI = IRB.CreatePHI(IRB.getInt32Ty(), 2, "label");
  589   PHINode *LabelPHI = IRB.CreatePHI(IRB.getInt32Ty(), 2, "label");
  592   LabelPHI->addIncoming(IRB.getInt32(-1), ElseBB1);
  597   LongjmpResult = IRB.CreateCall(GetTempRet0Func, None, "longjmp_result");