diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/CodeGen/DAGISelHeader.h | 8 | ||||
| -rw-r--r-- | llvm/include/llvm/Support/Compiler.h | 2 | ||||
| -rw-r--r-- | llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp | 2 | ||||
| -rw-r--r-- | llvm/utils/TableGen/DAGISelEmitter.cpp | 9 | 
4 files changed, 11 insertions, 10 deletions
| diff --git a/llvm/include/llvm/CodeGen/DAGISelHeader.h b/llvm/include/llvm/CodeGen/DAGISelHeader.h index b2acbc17455..624f18aba61 100644 --- a/llvm/include/llvm/CodeGen/DAGISelHeader.h +++ b/llvm/include/llvm/CodeGen/DAGISelHeader.h @@ -64,22 +64,22 @@ public:  /// ReplaceUses - replace all uses of the old node F with the use  /// of the new node T. -void ReplaceUses(SDValue F, SDValue T) DISABLE_INLINE { +DISABLE_INLINE void ReplaceUses(SDValue F, SDValue T) {    ISelUpdater ISU(ISelPosition);    CurDAG->ReplaceAllUsesOfValueWith(F, T, &ISU);  }  /// ReplaceUses - replace all uses of the old nodes F with the use  /// of the new nodes T. -void ReplaceUses(const SDValue *F, const SDValue *T, -                 unsigned Num) DISABLE_INLINE { +DISABLE_INLINE void ReplaceUses(const SDValue *F, const SDValue *T, +                                unsigned Num) {    ISelUpdater ISU(ISelPosition);    CurDAG->ReplaceAllUsesOfValuesWith(F, T, Num, &ISU);  }  /// ReplaceUses - replace all uses of the old node F with the use  /// of the new node T. -void ReplaceUses(SDNode *F, SDNode *T) DISABLE_INLINE { +DISABLE_INLINE void ReplaceUses(SDNode *F, SDNode *T) {    ISelUpdater ISU(ISelPosition);    CurDAG->ReplaceAllUsesWith(F, T, &ISU);  } diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h index 67770c35d24..0defe698b6c 100644 --- a/llvm/include/llvm/Support/Compiler.h +++ b/llvm/include/llvm/Support/Compiler.h @@ -52,6 +52,8 @@  // method "not for inlining".  #if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))  #define DISABLE_INLINE __attribute__((noinline)) +#elif defined(_MSC_VER) +#define DISABLE_INLINE __declspec(noinline)  #else  #define DISABLE_INLINE  #endif diff --git a/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp b/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp index 49faf64845b..565509cd1f3 100644 --- a/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp +++ b/llvm/lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp @@ -35,7 +35,7 @@ namespace llvm {  extern "C" {    // Debuggers puts a breakpoint in this function. -  void DISABLE_INLINE __jit_debug_register_code() { } +  DISABLE_INLINE void __jit_debug_register_code() { }    // We put information about the JITed function in this global, which the    // debugger reads.  Make sure to specify the version statically, because the diff --git a/llvm/utils/TableGen/DAGISelEmitter.cpp b/llvm/utils/TableGen/DAGISelEmitter.cpp index 89b7400cb31..0c78f56404f 100644 --- a/llvm/utils/TableGen/DAGISelEmitter.cpp +++ b/llvm/utils/TableGen/DAGISelEmitter.cpp @@ -1786,11 +1786,7 @@ void DAGISelEmitter::EmitInstructionSelector(raw_ostream &OS) {          }          CallerCode += ");"; -        CalleeCode += ") "; -        // Prevent emission routines from being inlined to reduce selection -        // routines stack frame sizes. -        CalleeCode += "DISABLE_INLINE "; -        CalleeCode += "{\n"; +        CalleeCode += ") {\n";          for (std::vector<std::string>::const_reverse_iterator                 I = AddedInits.rbegin(), E = AddedInits.rend(); I != E; ++I) @@ -1811,6 +1807,9 @@ void DAGISelEmitter::EmitInstructionSelector(raw_ostream &OS) {          } else {            EmitFuncNum = EmitFunctions.size();            EmitFunctions.insert(std::make_pair(CalleeCode, EmitFuncNum)); +          // Prevent emission routines from being inlined to reduce selection +          // routines stack frame sizes. +          OS << "DISABLE_INLINE ";            OS << "SDNode *Emit_" << utostr(EmitFuncNum) << CalleeCode;          } | 

