diff options
Diffstat (limited to 'lib/Target/TargetMachine.cpp')
| -rw-r--r-- | lib/Target/TargetMachine.cpp | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index ac67c91f1706..df523688c583 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -212,7 +212,8 @@ FunctionSections("ffunction-sections",  //  TargetMachine::TargetMachine(const Target &T)  -  : TheTarget(T), AsmInfo(0) { +  : TheTarget(T), AsmInfo(0), +    MCRelaxAll(false) {    // Typically it will be subtargets that will adjust FloatABIType from Default    // to Soft or Hard.    if (UseSoftFloat) @@ -273,13 +274,14 @@ namespace llvm {    /// DisableFramePointerElim - This returns true if frame pointer elimination    /// optimization should be disabled for the given machine function.    bool DisableFramePointerElim(const MachineFunction &MF) { -    if (NoFramePointerElim) -      return true; -    if (NoFramePointerElimNonLeaf) { +    // Check to see if we should eliminate non-leaf frame pointers and then +    // check to see if we should eliminate all frame pointers. +    if (NoFramePointerElimNonLeaf && !NoFramePointerElim) {        const MachineFrameInfo *MFI = MF.getFrameInfo();        return MFI->hasCalls();      } -    return false; + +    return NoFramePointerElim;    }    /// LessPreciseFPMAD - This flag return true when -enable-fp-mad option  | 
