LLVM: lib/CodeGen/AsmPrinter/EHStreamer.cpp File Reference (original) (raw)
Go to the source code of this file.
| Variables |
|---|
◆ break
◆ MarkedNoUnwind
return MarkedNoUnwind = false
Return ‘true’ if this is a call to a function marked ‘nounwind’.
Return ‘false’ otherwise. bool EHStreamer::callToNoUnwindFunction(const MachineInstr *MI) { assert(MI->isCall() && "This should be a call instruction!");
bool MarkedNoUnwind = false; bool SawFunc = false;
for (const MachineOperand &MO : MI->operands()) { if (!MO.isGlobal()) continue;
const Function *F = dyn_cast(MO.getGlobal()); if (!F) continue;
if (SawFunc) { Be conservative. If we have more than one function operand for this call, then we can't make the assumption that it's the callee and not a parameter to the call.
FIXME: Determine if there's a way to say that ‘F’ is the callee or
Definition at line 175 of file EHStreamer.cpp.