[llvm-commits] [llvm] r93796 - in /llvm/trunk: include/llvm/Target/TargetMachine.h lib/Target/PowerPC/PPCTargetMachine.cpp lib/Target/PowerPC/PPCTargetMachine.h lib/Target/X86/X86TargetMachine.cpp lib/Target/X86/X86TargetMachine.h

Chris Lattner clattner at apple.com
Mon Jan 18 17:33:27 PST 2010


On Jan 18, 2010, at 2:36 PM, Bill Wendling wrote:

> Author: void
> Date: Mon Jan 18 16:36:35 2010
> New Revision: 93796
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=93796&view=rev
> Log:
> - Add getLSDAEncoding to the PowerPC backend.
> - Greatly improve the comments to the getLSDAEncoding method.

Thanks Bill,

> +++ llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp Mon Jan 18 16:36:35 2010
> @@ -194,4 +194,19 @@
>   return false;
> }
> 
> +/// getLSDAEncoding - Returns the LSDA pointer encoding. The choices are 4-byte,
> +/// 8-byte, and target default. The CIE is hard-coded to indicate that the LSDA
> +/// pointer in the FDE section is an "sdata4", and should be encoded as a 4-byte
> +/// pointer by default. However, some systems may require a different size due
> +/// to bugs or other conditions. We will default to a 4-byte encoding unless the
> +/// system tells us otherwise.
> +///
> +/// FIXME: This call-back isn't good! We should be using the correct encoding
> +/// regardless of the system. However, there are some systems which have bugs
> +/// that prevent this from occuring.
> +DwarfLSDAEncoding::Encoding PPCTargetMachine::getLSDAEncoding() const {
> +  if (Subtarget.isDarwin() && Subtarget.getDarwinVers() != 10)
> +    return DwarfLSDAEncoding::Default;
> 
> +  return DwarfLSDAEncoding::EightByte;
> +}

You now have a nice generic comment, please add a big specific comment explaining why PPC (and X86) need to implement this.  What is it doing, why is it important?

-Chris





More information about the llvm-commits mailing list