- May 19, 2002
-
-
Vikram S. Adve authored
llvm-svn: 2643
-
Vikram S. Adve authored
-- passing FP arguments to functions with more than 6 arguments -- passing FP arguments to varargs functions -- passing FP arguments to functions with no prototypes -- incorrect coloring for CC registers (both int and FP): interferences were being completely ignored for int CC and were considered but no spills were marked for fp CC! Also some code improvements: -- better interface to generating machine instr for common cases (many places still need to be updated to use this interface) -- annotations on MachineInstr to communicate information from one codegen phase to another (now used to pass information about CALL/JMPLCALL operands from selection to register allocation) -- all sizes and offests in class TargetData are uint64_t instead of uint llvm-svn: 2642
-
Vikram S. Adve authored
Make all sizes and offsets uint64_t instead of uint. Fixed GetIndexedOffset to handle mixed array and struct indices. llvm-svn: 2641
-
Vikram S. Adve authored
-- correct sign extensions for integer casts and for shift-by-constant instructions generated for integer multiply -- passing FP arguments to functions with more than 6 arguments -- passing FP arguments to varargs functions -- passing FP arguments to functions with no prototypes -- incorrect stack frame size when padding a section -- folding getelementptr operations with mixed array and struct indexes -- use uint64_t instead of uint for constant offsets in mem operands -- incorrect coloring for CC registers (both int and FP): interferences were being completely ignored for int CC and were considered but no spills were marked for fp CC! Also some code improvements: -- better interface to generating machine instr for common cases (many places still need to be updated to use this interface) -- annotations on MachineInstr to communicate information from one codegen phase to another (now used to pass information about CALL/JMPLCALL operands from selection to register allocation) -- all sizes and offests in class TargetData are uint64_t instead of uint llvm-svn: 2640
-
- May 17, 2002
-
-
Chris Lattner authored
which global variables would have name collisions if they were not mangled, and use this info to mangle them iff they would collide. llvm-svn: 2639
-
- May 16, 2002
-
-
Chris Lattner authored
* Add optimization to rank computation to not recursively search when unneccesary. * More agressively negate expressions to open reassociation opportunities. * Linearize (A+B)+(C+D) into ((A+B)+C)+D llvm-svn: 2637
-
- May 14, 2002
-
-
Chris Lattner authored
By making sure to consider binary expressions identical if their operands are backwards, but swappable. llvm-svn: 2629
-
Chris Lattner authored
llvm-svn: 2627
-
Chris Lattner authored
often happens for the entry basic block of a function) llvm-svn: 2624
-
Chris Lattner authored
"This testcase caused instcombine to fail because it got the same instruction on it's worklist more than once (which is ok), but then deleted the instruction. Since the inst stayed on the worklist, as soon as it came back up to be processed, bad things happened, and opt asserted." llvm-svn: 2623
-
Chris Lattner authored
be put either before or after a load. We chose to cast the value loaded instead of the pointer to load from. Fixes bug: test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll llvm-svn: 2621
-
Chris Lattner authored
llvm-svn: 2620
-
Chris Lattner authored
llvm-svn: 2617
-
Chris Lattner authored
llvm-svn: 2616
-
- May 11, 2002
-
-
Chris Lattner authored
llvm-svn: 2615
-
- May 10, 2002
-
-
Chris Lattner authored
un#ifdef it. llvm-svn: 2606
-
Chris Lattner authored
the command line llvm-svn: 2601
-
Chris Lattner authored
llvm-svn: 2600
-
Chris Lattner authored
llvm-svn: 2598
-
Chris Lattner authored
* Make cast-of-self-ty DCE the dead cast instruction immediately instead of waiting for it to be DCE'd by another sweep over the function. This speeds this up noticably. llvm-svn: 2597
-
Chris Lattner authored
llvm-svn: 2593
-
- May 09, 2002
-
-
Chris Lattner authored
works much better than it used to. llvm-svn: 2588
-
Chris Lattner authored
1. Avoid printing *(&globalvariable), instead print globalvariable alone as a special case. 2. Inline subexpressions into expressions as much as legal that preserves execution characteristics of expressions. Now we get nice (but over-parenthesized, oh well) things like: ltmp_428_7 = spec__putc(((unsigned char )((bsBuff) >> 24)), (bsStream)); instead of five seperate instructions (bsBuff & bsStream are globals). llvm-svn: 2587
-
Chris Lattner authored
* Reorder code in the file to make it more logically laid out. llvm-svn: 2586
-
Chris Lattner authored
then printing it out, just print as we go. llvm-svn: 2585
-
Chris Lattner authored
inst_iterator. llvm-svn: 2584
-
Chris Lattner authored
* Correct global variable references * Fix loads & stores with zero indices * Do not emit an else part of a branch if there is no code (no phi node and a fallthrough branch), makes code more readable to get: if (l2_cond240) { goto l13_bb10; } with no else{} branch llvm-svn: 2583
-
Chris Lattner authored
llvm-svn: 2582
-
Chris Lattner authored
llvm-svn: 2581
-
Chris Lattner authored
l3_reg109 = l81_this->field0; Instead of: l3_reg109 = l81_this[0u].field0; where possible llvm-svn: 2579
-
Chris Lattner authored
* Clean up generated code to not emit basic block labels and goto instructions if they are unneccesary (for example, fall throughs) llvm-svn: 2578
-
Chris Lattner authored
* Print a newline after a malloc instruction * Convert unprintable characters to x_ instead of _x so that we don't generate identifiers that start with underscores llvm-svn: 2577
-
Chris Lattner authored
llvm-svn: 2576
-
Chris Lattner authored
* Mangle names with only a prefix so that they are easier on the eyes. * Put spaces around binary operators with low precedence to make them easier to read * Don't prefix function names with &, although it's correct, it's unnecesary and easier to read without it. llvm-svn: 2575
-
Chris Lattner authored
Remove lots of unneccesary arguments to methods llvm-svn: 2574
-
Chris Lattner authored
Now indirect function calls work, except that function pointer types are not correct. llvm-svn: 2573
-
Chris Lattner authored
* Print C strings correctly * Expand C escape sequences nicely (ie \n \t, etc get generated instead of hex escapes) llvm-svn: 2572
-
Chris Lattner authored
Handle global variables correctly. llvm-svn: 2571
-
Chris Lattner authored
* Use binary operator logic for shifts instead of cloning code * Unary not is '~' not '!' llvm-svn: 2570
-
Chris Lattner authored
have some hope of working right. Function calls do not try to emit an lvalue if they return void. llvm-svn: 2569
-