[llvm-commits] [PATCH] Avoid overflow in scheduling
Reid Kleckner
rnk at mit.edu
Sat Sep 26 13:19:00 PDT 2009
Hey all,
One of our nasty regression test cases generates a ginormous (4 MB of
bitcode) function that overflows a short integer in some instruction
scheduling code. Is the attached fix OK? If so, I'll commit it.
This fixes PR4401.
Thanks,
Reid
-------------- next part --------------
Index: include/llvm/CodeGen/ScheduleDAG.h
===================================================================
--- include/llvm/CodeGen/ScheduleDAG.h (revision 82692)
+++ include/llvm/CodeGen/ScheduleDAG.h (working copy)
@@ -243,10 +243,10 @@
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.
+ int NumPreds; // # of SDep::Data preds.
+ int NumSuccs; // # of SDep::Data sucss.
+ int NumPredsLeft; // # of preds not scheduled.
+ int 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.
More information about the llvm-commits
mailing list