diff options
author | Dale Johannesen <dalej@apple.com> | 2009-03-25 17:36:08 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2009-03-25 17:36:08 +0000 |
commit | beaec4cbf6cfd756084eff1ee2ad18ee17c33284 (patch) | |
tree | d3c6504386f907c152535870e420e57cf791aeb2 /lib/CodeGen/SelectionDAG | |
parent | ea4753e3700d16e7ae35afd533faba0ec564c566 (diff) | |
download | external_llvm-beaec4cbf6cfd756084eff1ee2ad18ee17c33284.zip external_llvm-beaec4cbf6cfd756084eff1ee2ad18ee17c33284.tar.gz external_llvm-beaec4cbf6cfd756084eff1ee2ad18ee17c33284.tar.bz2 |
When optimizing with debug info, don't keep the
stoppoint nodes around until Legalize; doing this
imposed an ordering on a sequence of loads that
came from different lines, interfering with scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67692 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp index 8457bc3..a5d4caf 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp @@ -3895,10 +3895,11 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { DbgStopPointInst &SPI = cast<DbgStopPointInst>(I); if (DW && DW->ValidDebugInfo(SPI.getContext())) { MachineFunction &MF = DAG.getMachineFunction(); - DAG.setRoot(DAG.getDbgStopPoint(getRoot(), - SPI.getLine(), - SPI.getColumn(), - SPI.getContext())); + if (Fast) + DAG.setRoot(DAG.getDbgStopPoint(getRoot(), + SPI.getLine(), + SPI.getColumn(), + SPI.getContext())); DICompileUnit CU(cast<GlobalVariable>(SPI.getContext())); std::string Dir, FN; unsigned SrcFile = DW->getOrCreateSourceID(CU.getDirectory(Dir), |