- Oct 06, 2005
-
-
Chris Lattner authored
previous copy elisions and we discover we need to reload a register, make sure to use the regclass of the original register for the reload, not the class of the current register. This avoid using 16-bit loads to reload 32-bit values. llvm-svn: 23645
-
Chris Lattner authored
llvm-svn: 23642
-
- Oct 05, 2005
-
-
Nate Begeman authored
llvm-svn: 23641
-
Nate Begeman authored
llvm-svn: 23640
-
Nate Begeman authored
llvm-svn: 23639
-
Chris Lattner authored
store r12 -> [ss#2] R3 = load [ss#1] use R3 R3 = load [ss#2] R4 = load [ss#1] and turn it into this code: store R12 -> [ss#2] R3 = load [ss#1] use R3 R3 = R12 R4 = R3 <- oops! The problem was that promoting R3 = load[ss#2] to a copy missed the fact that the instruction invalidated R3 at that point. llvm-svn: 23638
-
Chris Lattner authored
with the dag combiner. This speeds up espresso by 8%, reaching performance parity with the dag-combiner-disabled llc. llvm-svn: 23636
-
Chris Lattner authored
llvm-svn: 23635
-
Chris Lattner authored
dead node elim and dag combiner passes where the root is potentially updated. This fixes a fixme in the dag combiner. llvm-svn: 23634
-
Chris Lattner authored
that testcase still does not pass with the dag combiner. This is because not all forms of br* are folded yet. Also, when we combine a node into another one, delete the node immediately instead of waiting for the node to potentially come up in the future. llvm-svn: 23632
-
Chris Lattner authored
the second phase of dag combining llvm-svn: 23631
-
Chris Lattner authored
llvm-svn: 23630
-
- Oct 04, 2005
-
-
Jim Laskey authored
llvm-svn: 23622
-
Nate Begeman authored
Since calls return more than one value, don't bail if one of their uses happens to be a node that's not an MVT::Other when following the chain from CALLSEQ_START to CALLSEQ_END. Once we've found a CALLSEQ_START, we can just return; there's no need to tail-recurse further up the graph. Most importantly, just because something only has one use doesn't mean we should use it's one use to follow from start to end. This faulty logic caused us to follow a chain of one-use FP operations back to a much earlier call, putting a cycle in the graph from a later start to an earlier end. This is a better fix that reverting to the workaround committed earlier today. llvm-svn: 23620
-
Nate Begeman authored
Neither of us have yet figured out why this code is necessary, but stuff breaks if its not there. Still tracking this down... llvm-svn: 23617
-
- Oct 03, 2005
-
-
Jim Laskey authored
llvm-svn: 23610
-
Chris Lattner authored
llvm-svn: 23609
-
Chris Lattner authored
llvm-svn: 23606
-
- Oct 02, 2005
-
-
Chris Lattner authored
large basic blocks because it was purely recursive. This switches it to an iterative/recursive hybrid. llvm-svn: 23596
-
Chris Lattner authored
llvm-svn: 23595
-
Chris Lattner authored
up between defs and uses. llvm-svn: 23590
-
Chris Lattner authored
destination vreg. llvm-svn: 23586
-
- Oct 01, 2005
-
-
Chris Lattner authored
For instructions that define multiple results, use the right regclass to define the result, not always the rc of result #0 llvm-svn: 23580
-
Jeff Cohen authored
llvm-svn: 23579
-
Chris Lattner authored
llvm-svn: 23575
-
Jim Laskey authored
llvm-svn: 23574
-
Jim Laskey authored
2. Printing node groups when displaying nodes. llvm-svn: 23573
-
- Sep 30, 2005
-
-
Jim Laskey authored
2. Added node groups to handle flagged nodes. 3. Started weaning simple scheduling off existing emitter. llvm-svn: 23566
-
Chris Lattner authored
llvm-svn: 23559
-
Chris Lattner authored
class into the spill/reload methods. Targets can now rely on that argument. llvm-svn: 23556
-
Chris Lattner authored
code. PrologEpilogInserter hasn't been updated yet though, so targets cannot use this info. llvm-svn: 23536
-
- Sep 29, 2005
-
-
Chris Lattner authored
llvm-svn: 23522
-
Jeff Cohen authored
llvm-svn: 23516
-
Chris Lattner authored
Though I have done extensive testing, it is possible that this will break things in configs I can't test. Please let me know if this causes a problem and I'll fix it ASAP. llvm-svn: 23504
-
- Sep 28, 2005
-
-
Chris Lattner authored
If the target prefers it, use _setjmp/_longjmp should be used instead of setjmp/longjmp for llvm.setjmp/llvm.longjmp. llvm-svn: 23481
-
- Sep 27, 2005
-
-
Jim Laskey authored
llvm-svn: 23469
-
- Sep 26, 2005
-
-
Jim Laskey authored
for testing and will require target machine info to do a proper scheduling. The simple scheduler can be turned on using -sched=simple (defaults to -sched=none) llvm-svn: 23455
-
- Sep 23, 2005
-
-
Chris Lattner authored
This happens all the time on PPC for bool values, e.g. eliminating a xori in inverted-bool-compares.ll. This should be added to the dag combiner as well. llvm-svn: 23403
-
- Sep 21, 2005
-
-
Chris Lattner authored
llvm-svn: 23400
-
- Sep 20, 2005
-
-
Nate Begeman authored
select_cc bits and then wrap it in a convenience function for use with regular select. llvm-svn: 23389
-