[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