diff options
author | Reid Kleckner <reid@kleckner.net> | 2009-09-30 20:15:38 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2009-09-30 20:15:38 +0000 |
commit | e9b95fd1ebb1f046d17afd0123d7c3afcd4ddef0 (patch) | |
tree | 961f33a75eced084518a387d00095b6a98782d25 /include/llvm | |
parent | 5a8c00d3394922bbc310fdd6ffb829939de37cd1 (diff) | |
download | external_llvm-e9b95fd1ebb1f046d17afd0123d7c3afcd4ddef0.zip external_llvm-e9b95fd1ebb1f046d17afd0123d7c3afcd4ddef0.tar.gz external_llvm-e9b95fd1ebb1f046d17afd0123d7c3afcd4ddef0.tar.bz2 |
Fix integer overflow in instruction scheduling. This can happen if we have
basic blocks that are so long that their size overflows a short.
Also assert that overflow does not happen in the future, as requested by Evan.
This fixes PR4401.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83159 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/CodeGen/ScheduleDAG.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h index c5e12a6..2de095b 100644 --- a/include/llvm/CodeGen/ScheduleDAG.h +++ b/include/llvm/CodeGen/ScheduleDAG.h @@ -243,10 +243,10 @@ namespace llvm { unsigned NodeNum; // Entry # of node in the node vector. unsigned NodeQueueId; // Queue id of node. unsigned short Latency; // Node latency. - short NumPreds; // # of SDep::Data preds. - short NumSuccs; // # of SDep::Data sucss. - short NumPredsLeft; // # of preds not scheduled. - short NumSuccsLeft; // # of succs not scheduled. + unsigned NumPreds; // # of SDep::Data preds. + unsigned NumSuccs; // # of SDep::Data sucss. + unsigned NumPredsLeft; // # of preds not scheduled. + unsigned NumSuccsLeft; // # of succs not scheduled. bool isTwoAddress : 1; // Is a two-address instruction. bool isCommutable : 1; // Is a commutable instruction. bool hasPhysRegDefs : 1; // Has physreg defs that are being used. |