[llvm-commits] [llvm] r49064 - in /llvm/trunk: include/llvm/CodeGen/MachineModuleInfo.h lib/CodeGen/DwarfWriter.cpp lib/CodeGen/LLVMTargetMachine.cpp lib/CodeGen/MachineModuleInfo.cpp lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp lib/Target/PowerPC/PPCAsmPrinter.cpp lib/Target/PowerPC/PPCRegisterInfo.cpp lib/Target/X86/X86ATTAsmPrinter.cpp lib/Target/X86/X86AsmPrinter.cpp lib/Target/X86/X86RegisterInfo.cpp

Duncan Sands baldrick at free.fr
Wed Apr 2 05:17:44 PDT 2008


Hi Dale,

> Recommitting EH patch; this should answer most of the
> review feedback.

yes, this is much better - thanks a lot!

> -enable-eh is still accepted but doesn't do anything.

What is the status of -enable-correct-eh?

> The separation of the EH table and frame move data is,
> I think, logically figured out, but either one still
> causes full EH info to be generated (not sure how to
> split the metadata correctly).

Me neither, but it would be a nice win if we could.  Want
to open a PR for this?

>    void BeginFunction(MachineFunction *MF) {
>      this->MF = MF;
> -    
> -    if (MMI &&
> -        ExceptionHandling &&
> -        TAI->doesSupportExceptionHandling()) {
> -      shouldEmit = true;
> -      // Assumes in correct section after the entry point.
> -      EmitLabel("eh_func_begin", ++SubprogramCount);
> +    shouldEmitTable = shouldEmitMoves = false;
> +    if (TAI->doesSupportExceptionHandling()) {
> +
> +      // Map all labels and get rid of any dead landing pads.
> +      MMI->TidyLandingPads();

There used to be a check that MMI is not NULL, but not anymore.

> +  bool needsFrameInfo = (MMI && MMI->hasDebugInfo()) ||

How about calling this needsFrameMoves?  I don't feel strongly
about this.

Thanks again!

Duncan.



More information about the llvm-commits mailing list