diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2010-03-10 17:45:15 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2010-03-10 17:45:15 +0000 |
commit | 9e2446b38c94db61b2416c28fee415c03663c11c (patch) | |
tree | 231646bba785a129b3a2d409badb74e7ccd1594c /include/llvm/Target | |
parent | 9bef28eb9e224d641ce31a423e215ccf82bf1d43 (diff) | |
download | FreeBSD-src-9e2446b38c94db61b2416c28fee415c03663c11c.zip FreeBSD-src-9e2446b38c94db61b2416c28fee415c03663c11c.tar.gz |
Update LLVM to r98164.
Diffstat (limited to 'include/llvm/Target')
-rw-r--r-- | include/llvm/Target/TargetLowering.h | 4 | ||||
-rw-r--r-- | include/llvm/Target/TargetLoweringObjectFile.h | 23 | ||||
-rw-r--r-- | include/llvm/Target/TargetRegisterInfo.h | 3 |
3 files changed, 26 insertions, 4 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 60b7ebd..5bc1c0e 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -664,12 +664,12 @@ public: /// getOptimalMemOpType - Returns the target specific optimal type for load /// and store operations as a result of memset, memcpy, and memmove lowering. - /// It returns EVT::iAny if SelectionDAG should be responsible for + /// It returns EVT::Other if SelectionDAG should be responsible for /// determining it. virtual EVT getOptimalMemOpType(uint64_t Size, unsigned Align, bool isSrcConst, bool isSrcStr, SelectionDAG &DAG) const { - return MVT::iAny; + return MVT::Other; } /// usesUnderscoreSetJmp - Determine if we should use _setjmp or setjmp diff --git a/include/llvm/Target/TargetLoweringObjectFile.h b/include/llvm/Target/TargetLoweringObjectFile.h index 42d88a0..056efea 100644 --- a/include/llvm/Target/TargetLoweringObjectFile.h +++ b/include/llvm/Target/TargetLoweringObjectFile.h @@ -87,11 +87,23 @@ protected: const MCSection *DwarfRangesSection; const MCSection *DwarfMacroInfoSection; + /// SupportsWeakEmptyEHFrame - True if target object file supports a + /// weak_definition of constant 0 for an omitted EH frame. + bool SupportsWeakOmittedEHFrame; + + /// IsFunctionEHSymbolGlobal - This flag is set to true if the ".eh" symbol + /// for a function should be marked .globl. + bool IsFunctionEHSymbolGlobal; + + /// IsFunctionEHFrameSymbolPrivate - This flag is set to true if the + /// "EH_frame" symbol for EH information should be an assembler temporary (aka + /// private linkage, aka an L or .L label) or false if it should be a normal + /// non-.globl label. This defaults to true. + bool IsFunctionEHFrameSymbolPrivate; public: MCContext &getContext() const { return *Ctx; } - virtual ~TargetLoweringObjectFile(); /// Initialize - this method must be called before any actual lowering is @@ -101,6 +113,15 @@ public: Ctx = &ctx; } + bool isFunctionEHSymbolGlobal() const { + return IsFunctionEHSymbolGlobal; + } + bool isFunctionEHFrameSymbolPrivate() const { + return IsFunctionEHFrameSymbolPrivate; + } + bool getSupportsWeakOmittedEHFrame() const { + return SupportsWeakOmittedEHFrame; + } const MCSection *getTextSection() const { return TextSection; } const MCSection *getDataSection() const { return DataSection; } diff --git a/include/llvm/Target/TargetRegisterInfo.h b/include/llvm/Target/TargetRegisterInfo.h index 212cc93..c197445 100644 --- a/include/llvm/Target/TargetRegisterInfo.h +++ b/include/llvm/Target/TargetRegisterInfo.h @@ -682,8 +682,9 @@ public: /// When -enable-frame-index-scavenging is enabled, the virtual register /// allocated for this frame index is returned and its value is stored in /// *Value. + typedef std::pair<unsigned, int> FrameIndexValue; virtual unsigned eliminateFrameIndex(MachineBasicBlock::iterator MI, - int SPAdj, int *Value = NULL, + int SPAdj, FrameIndexValue *Value = NULL, RegScavenger *RS=NULL) const = 0; /// emitProlog/emitEpilog - These methods insert prolog and epilog code into |