[llvm-commits] [llvm] r86897 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp
Bill Wendling
isanbard at gmail.com
Thu Nov 12 01:52:35 PST 2009
On Nov 12, 2009, at 1:48 AM, Duncan Sands wrote:
>> + bool DoesNotThrow = false;
>> + for (unsigned OI = 0, OE = MI->getNumOperands(); OI != OE; ++OI) {
>> + const MachineOperand &MO = MI->getOperand(OI);
>> +
>> + if (MO.isGlobal()) {
>> + if (Function *F = dyn_cast<Function>(MO.getGlobal())) {
>> + if (F->doesNotThrow()) {
>> + DoesNotThrow = true;
>> + break;
>> + }
>> + }
>> + }
>> + }
>
> doesn't this mean that if a pointer to a nounwind function is passed as a
> call parameter (rather than as the callee), then DoesNotThrow is set to true?
>
If such an instruction existed, then I suppose. What's the best way to determine that it's the "callee" and not a parameter? Do you have an example to work with?
-bw
More information about the llvm-commits
mailing list