aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-01-30 02:49:14 +0000
committerDan Gohman <gohman@apple.com>2009-01-30 02:49:14 +0000
commit24196cf51a4ce4da2c7f3d6d4c378db12c685f0e (patch)
treebdd2e29d59721787b1d6dd48c8dfca58ef4b49ce /lib/CodeGen/SelectionDAG/DAGCombiner.cpp
parentdb4984aebf62890ea2280115f6be096403d1e738 (diff)
downloadexternal_llvm-24196cf51a4ce4da2c7f3d6d4c378db12c685f0e.zip
external_llvm-24196cf51a4ce4da2c7f3d6d4c378db12c685f0e.tar.gz
external_llvm-24196cf51a4ce4da2c7f3d6d4c378db12c685f0e.tar.bz2
Fix a post-RA scheduling dependency bug.
If a MachineInstr doesn't have a memoperand but has an opcode that is known to load or store, assume its memory reference may alias *anything*, including stack slots which the compiler completely controls. To partially compensate for this, teach the ScheduleDAG building code to do basic getUnderlyingValue analysis. This greatly reduces the number of instructions that require restrictive dependencies. This code will need to be revisited when we start doing real alias analysis, but it should suffice for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63370 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/DAGCombiner.cpp')
0 files changed, 0 insertions, 0 deletions