diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-02-19 21:12:54 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-02-19 21:12:54 +0000 |
commit | dfdacee2abd53d71a5b9a9f4d38c7973cc722663 (patch) | |
tree | 813e01e9d9fe23932ea336e672c61591f15c6ca3 | |
parent | c1c9d7e6a95e2090d74f271209fc9337e74ab9bf (diff) |
Generate these labels when we're in "fast" mode, not simply when we're no in
"optimize-for-size" mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65064 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 10 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.h | 8 | ||||
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 2 |
3 files changed, 9 insertions, 11 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp index 6b78eb9700..205b7b9dff 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp @@ -3915,10 +3915,7 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { if (DW && DW->ValidDebugInfo(RSI.getContext())) { unsigned LabelID = DW->RecordRegionStart(cast<GlobalVariable>(RSI.getContext())); - const Function *F = I.getParent()->getParent(); - - // FIXME: Support more than just -Os. - if (!F->hasFnAttr(Attribute::OptimizeForSize)) + if (Fast) DAG.setRoot(DAG.getLabel(ISD::DBG_LABEL, getCurDebugLoc(), getRoot(), LabelID)); } @@ -3931,10 +3928,7 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { if (DW && DW->ValidDebugInfo(REI.getContext())) { unsigned LabelID = DW->RecordRegionEnd(cast<GlobalVariable>(REI.getContext())); - const Function *F = I.getParent()->getParent(); - - // FIXME: Support more than just -Os. - if (!F->hasFnAttr(Attribute::OptimizeForSize)) + if (Fast) DAG.setRoot(DAG.getLabel(ISD::DBG_LABEL, getCurDebugLoc(), getRoot(), LabelID)); } diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h index 487c796321..8ab3487a95 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.h @@ -354,14 +354,18 @@ public: /// FuncInfo - Information about the function as a whole. /// FunctionLoweringInfo &FuncInfo; + + /// Fast - We are in -fast mode. + /// + bool Fast; /// GFI - Garbage collection metadata for the function. GCFunctionInfo *GFI; SelectionDAGLowering(SelectionDAG &dag, TargetLowering &tli, - FunctionLoweringInfo &funcinfo) + FunctionLoweringInfo &funcinfo, bool fast) : CurDebugLoc(DebugLoc::getUnknownLoc()), - TLI(tli), DAG(dag), FuncInfo(funcinfo) { + TLI(tli), DAG(dag), FuncInfo(funcinfo), Fast(fast) { } void init(GCFunctionInfo *gfi, AliasAnalysis &aa); diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index ed6e4fbe8c..dc5f7d79f3 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -268,7 +268,7 @@ SelectionDAGISel::SelectionDAGISel(TargetMachine &tm, bool fast) : FunctionPass(&ID), TM(tm), TLI(*tm.getTargetLowering()), FuncInfo(new FunctionLoweringInfo(TLI)), CurDAG(new SelectionDAG(TLI, *FuncInfo)), - SDL(new SelectionDAGLowering(*CurDAG, TLI, *FuncInfo)), + SDL(new SelectionDAGLowering(*CurDAG, TLI, *FuncInfo, fast)), GFI(), Fast(fast), DAGSize(0) |