diff options
author | Dan Gohman <gohman@apple.com> | 2008-04-15 01:22:18 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-04-15 01:22:18 +0000 |
commit | 80792f3ddec43aff7f0758c9096f8cb53dcc1e40 (patch) | |
tree | bafff231c1d86725c17901a10fe0c9f4e42743cb /include | |
parent | 89bf0a6b05c8c353890c88ed1c10dec96a9a7bd8 (diff) | |
download | external_llvm-80792f3ddec43aff7f0758c9096f8cb53dcc1e40.zip external_llvm-80792f3ddec43aff7f0758c9096f8cb53dcc1e40.tar.gz external_llvm-80792f3ddec43aff7f0758c9096f8cb53dcc1e40.tar.bz2 |
Treat EntryToken nodes as "passive" so that they aren't added to the
ScheduleDAG; they don't correspond to any actual instructions so they
don't need to be scheduled.
This fixes a bug where the EntryToken was being scheduled multiple
times in some cases, though it ended up not causing any trouble because
EntryToken doesn't expand into anything. With this fixed the schedulers
reliably schedule the expected number of units, so we can check this
with an assertion.
This requires a tweak to test/CodeGen/X86/loop-hoist.ll because it
ends up getting scheduled differently in a trivial way, though it was
enough to fool the prcontext+grep that the test does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49701 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/ScheduleDAG.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h index ebc21a1..48f1b78 100644 --- a/include/llvm/CodeGen/ScheduleDAG.h +++ b/include/llvm/CodeGen/ScheduleDAG.h @@ -285,6 +285,7 @@ namespace llvm { if (isa<JumpTableSDNode>(Node)) return true; if (isa<ExternalSymbolSDNode>(Node)) return true; if (isa<MemOperandSDNode>(Node)) return true; + if (Node->getOpcode() == ISD::EntryToken) return true; return false; } |