| Index: lib/Target/ARM/ARMSubtarget.h
|
| diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
|
| index 7e8370589a0007645962336f4d2353e1c4610a70..56d15c0152118a30cfafc1ec6d534effab28f6f3 100644
|
| --- a/lib/Target/ARM/ARMSubtarget.h
|
| +++ b/lib/Target/ARM/ARMSubtarget.h
|
| @@ -38,6 +38,8 @@ class GlobalValue;
|
| class StringRef;
|
| class TargetOptions;
|
|
|
| +extern cl::opt<bool> EnableARMDwarfEH; // @LOCALMOD
|
| +
|
| class ARMSubtarget : public ARMGenSubtargetInfo {
|
| protected:
|
| enum ARMProcFamilyEnum {
|
| @@ -106,6 +108,14 @@ protected:
|
| /// IsR9Reserved - True if R9 is a not available as general purpose register.
|
| bool IsR9Reserved;
|
|
|
| + // @LOCALMOD-START
|
| + /// UseInlineJumpTables - True if jump tables should be in-line in the code.
|
| + bool UseInlineJumpTables;
|
| +
|
| + /// UseConstIslands - True if constant islands should be used.
|
| + bool UseConstIslands;
|
| + // @LOCALMOD-END
|
| +
|
| /// UseMovt - True if MOVT / MOVW pairs are used for materialization of 32-bit
|
| /// imms (including global addresses).
|
| bool UseMovt;
|
| @@ -375,7 +385,8 @@ public:
|
| TargetTriple.getEnvironment() == Triple::EABIHF ||
|
| TargetTriple.getEnvironment() == Triple::GNUEABIHF ||
|
| TargetTriple.getEnvironment() == Triple::Android) &&
|
| - !isTargetDarwin() && !isTargetWindows();
|
| + !isTargetDarwin() && !isTargetWindows() &&
|
| + !isTargetNaCl() && !EnableARMDwarfEH; // @LOCALMOD
|
| }
|
|
|
| bool isTargetHardFloat() const {
|
| @@ -415,6 +426,9 @@ public:
|
|
|
| bool supportsTailCall() const { return SupportsTailCall; }
|
|
|
| + // @LOCALMOD
|
| + bool useConstIslands() const { return UseConstIslands; }
|
| +
|
| bool allowsUnalignedMem() const { return AllowsUnalignedMem; }
|
|
|
| bool restrictIT() const { return RestrictIT; }
|
| @@ -450,6 +464,7 @@ public:
|
| /// symbol.
|
| bool GVIsIndirectSymbol(const GlobalValue *GV, Reloc::Model RelocM) const;
|
|
|
| + bool useInlineJumpTables() const {return UseInlineJumpTables;} // @LOCALMOD
|
| };
|
| } // End llvm namespace
|
|
|
|
|