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

Duncan Sands baldrick at free.fr
Thu Nov 12 01:48:26 PST 2009


Hi Bill,

> +          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?

Ciao,

Duncan.



More information about the llvm-commits mailing list