- May 30, 2006
-
-
Reid Spencer authored
stdout when the output of llvm-as is also written to stdout. We'll have to fix tcl some other way. llvm-svn: 28557
-
Reid Spencer authored
Tcl to claim that the program had an error and thus produces errors in the dejagnu testing when its really just a warning. llvm-svn: 28556
-
Vladimir Prus authored
llvm-svn: 28555
-
Reid Spencer authored
everything except PHI nodes and one odd recurse/opaque type situation. PHI nodes forward reference INSTRUCTIONS (aaaaaaaahhhhhhh!) :) llvm-svn: 28554
-
Reid Spencer authored
llvm-svn: 28553
-
Reid Spencer authored
implementation always added a null byte to the end of the string. It turns out that this is not always wanted. By adding a length parameter we preserve this behavior when length==0 (default value) but also allow other lengths (not null terminated) to be created. llvm-svn: 28552
-
Evan Cheng authored
llvm-svn: 28551
-
Evan Cheng authored
Fold c2 in (x << c1) | c2 where (c2 < c1) e.g. int test(int x) { return (x << 3) + 7; } This can be codegen'd as: leal 7(,%eax,8), %eax llvm-svn: 28550
-
Evan Cheng authored
llvm-svn: 28549
-
Evan Cheng authored
llvm-svn: 28548
-
Reid Spencer authored
tests. The output in a few cases still doesn't compile, however. llvm-svn: 28547
-
Andrew Lenharth authored
llvm-svn: 28546
-
Andrew Lenharth authored
uses DSA to make find targets of calls. It provides a very convinient interface to DSA results to do things with indirect calls, such as write a devirtualizer (which I have and may commit one of these days). llvm-svn: 28545
-
- May 29, 2006
-
-
Chris Lattner authored
llvm-svn: 28544
-
Chris Lattner authored
llvm-svn: 28543
-
Reid Spencer authored
llvm-svn: 28542
-
Reid Spencer authored
1. Get rid of old AsmWriter cruft that's not needed. 2. Implement several instructions. Enough to get by globalvars.ll and alignment.ll in the Feature test suite. 3. Handle constants properly (don't repeat definitions). 4. Make the output compatible with llvm-dis for diff purposes. llvm-svn: 28541
-
Reid Spencer authored
llvm-svn: 28540
-
Reid Spencer authored
llvm-svn: 28539
-
Vladimir Prus authored
llvm-svn: 28538
-
Vladimir Prus authored
llvm-svn: 28537
-
Reid Spencer authored
1. Return the module from the MakeModule function so it can be verified. 2. Make sure types get generated with their names llvm-svn: 28536
-
Reid Spencer authored
llvm-svn: 28535
-
Reid Spencer authored
llvm-svn: 28534
-
Reid Spencer authored
llvm-svn: 28533
-
Reid Spencer authored
llvm-svn: 28532
-
Owen Anderson authored
llvm-svn: 28531
-
Owen Anderson authored
llvm-svn: 28530
-
Owen Anderson authored
is now theoretically feature-complete. It has not, however, been thoroughly test, and is still considered experimental. llvm-svn: 28529
-
Reid Spencer authored
This is a safekeeping commit. The program is not finished. It currently handles modules, types, global variables and function declarations. Blocks and instructions remain to be done. llvm-svn: 28528
-
- May 28, 2006
-
-
Owen Anderson authored
other calculations on each individually, rather than trying to delay it and do them all at the end. llvm-svn: 28527
-
Reid Spencer authored
"libdir" for some reason. Changing to llvmlibsdir instead fixes it. llvm-svn: 28526
-
Reid Spencer authored
committed). This infrastructure is only activated when RUNLLVM2CPP=1 is specified on the make command line. Currently it is only supported in the Feature test suite. llvm-svn: 28525
-
- May 27, 2006
-
-
Owen Anderson authored
the iterated Dominance Frontier of the loop-closure Phi's. This is the second phase of the LCSSA pass. The third phase (coming soon) will be to update all uses of loop variables to use the loop-closure Phi's instead. llvm-svn: 28524
-
Chris Lattner authored
ldecod, lencod, and SPASS. llvm-svn: 28523
-
Chris Lattner authored
llvm-svn: 28522
-
Chris Lattner authored
makes it so that it constant folds instructions on the fly. This is good for several reasons: 0. Many instructions are constant foldable after inlining, particularly if inlining a call with constant arguments. 1. Without this, the inliner has to allocate memory for all of the instructions that can be constant folded, then a subsequent pass has to delete them. This gets the job done without this extra work. 2. This makes the inliner *pass* a bit more aggressive: in particular, it partially solves a phase order issue where the inliner would inline lots of code that folds away to nothing, but think that the resultant function is big because of this code that will be gone. Now the code never exists. This is the first part of a 2-step process. The second part will be smart enough to see when this implicit constant folding propagates a constant into a branch or switch instruction, making CFG edges dead. This implements Transforms/Inline/inline_constprop.ll llvm-svn: 28521
-
Chris Lattner authored
llvm-svn: 28520
-
Chris Lattner authored
llvm-svn: 28519
-
Chris Lattner authored
llvm-svn: 28518
-