diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-04-19 00:05:59 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-04-19 00:05:59 +0000 |
commit | 89ec1c5c9c744c125b61145ed59783eb5c68ebf8 (patch) | |
tree | 2d7eae514b80a1ca244ebaf706ac17d71fbe544d /lib/Target/X86/X86FrameLowering.h | |
parent | 74d892433d617daa9728f2c52446b2cc2846553f (diff) | |
download | llvm-89ec1c5c9c744c125b61145ed59783eb5c68ebf8.tar.gz llvm-89ec1c5c9c744c125b61145ed59783eb5c68ebf8.tar.bz2 llvm-89ec1c5c9c744c125b61145ed59783eb5c68ebf8.tar.xz |
Use an enum instead of magic constants to improve readability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179820 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86FrameLowering.h')
-rw-r--r-- | lib/Target/X86/X86FrameLowering.h | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/lib/Target/X86/X86FrameLowering.h b/lib/Target/X86/X86FrameLowering.h index 3f08b9a2e8..6e309d8832 100644 --- a/lib/Target/X86/X86FrameLowering.h +++ b/lib/Target/X86/X86FrameLowering.h @@ -19,8 +19,35 @@ #include "llvm/Target/TargetFrameLowering.h" namespace llvm { - class MCSymbol; - class X86TargetMachine; + +namespace CU { + + /// Compact unwind encoding values. + enum CompactUnwindEncodings { + /// [RE]BP based frame where [RE]BP is pused on the stack immediately after + /// the return address, then [RE]SP is moved to [RE]BP. + UNWIND_MODE_BP_FRAME = 0x01000000, + + /// A frameless function with a small constant stack size. + UNWIND_MODE_STACK_IMMD = 0x02000000, + + /// A frameless function with a large constant stack size. + UNWIND_MODE_STACK_IND = 0x03000000, + + /// No compact unwind encoding is available. + UNWIND_MODE_DWARF = 0x04000000, + + /// Mask for encoding the frame registers. + UNWIND_BP_FRAME_REGISTERS = 0x00007FFF, + + /// Mask for encoding the frameless registers. + UNWIND_FRAMELESS_STACK_REG_PERMUTATION = 0x000003FF + }; + +} // end CU namespace + +class MCSymbol; +class X86TargetMachine; class X86FrameLowering : public TargetFrameLowering { const X86TargetMachine &TM; |