[llvm-commits] [llvm] r86897 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfException.cpp

Duncan Sands baldrick at free.fr
Fri Nov 13 02:25:30 PST 2009


Hi Dan,

>>> A call can be "nounwind" without the
>>> callee necessarily being nounwind.  Your patch only catches the case of the
>>> callee being nounwind.  The CallSite doesNotThrow method checks for both of
>>> these possibilities.  I think what should happen is: at the moment of lowering
>>> the IR to SDAG nodes, check "doesNotThrow" on calls and set a corresponding
>>> flag in the SDAG node.  Check this flag when outputting the dwarf table.
>> Possible. Though at the point of DWARF generation, we don't have the SDAG nodes anymore. So it would have to be propagated to the CALL instruction.
> 
> Crazy idea: would it make sense to extend MachineMemOperand
> to be able to describe which Function is being called in
> a call MachineInstr?

thanks for thinking about this.  Unfortunately that doesn't handle the case
of a call that is marked nounwind, to a callee that is not marked nounwind.

Ciao,

Duncan.



More information about the llvm-commits mailing list