Chris Lattner
7b30f09451
Must run cfgsimplify to eliminate dead blocks
...
llvm-svn: 2706
2002-05-22 15:49:14 +00:00
Chris Lattner
a29f0fe4e4
New testcase
...
llvm-svn: 2705
2002-05-21 22:23:38 +00:00
Chris Lattner
4864c06550
* Fix typeo
...
* Provide a #include of <malloc.h> so that the sun C compiler does not
miscompile malloc function calls
llvm-svn: 2702
2002-05-21 21:10:04 +00:00
Chris Lattner
e7ce749d63
Add implementation of SimplifyCFG
...
llvm-svn: 2701
2002-05-21 20:50:24 +00:00
Chris Lattner
bb7416fa7f
New CFG Simplification pass: removed from the old DCE pass
...
llvm-svn: 2700
2002-05-21 20:49:37 +00:00
Chris Lattner
35c3842eb5
Expose cfg simplification pass
...
llvm-svn: 2699
2002-05-21 20:05:16 +00:00
Chris Lattner
d5eb6515a1
Simplify CFG after code generation is done
...
llvm-svn: 2698
2002-05-21 20:05:08 +00:00
Chris Lattner
4b29ff417d
Simplify interface to ConstantFoldTerminator
...
llvm-svn: 2697
2002-05-21 20:04:50 +00:00
Chris Lattner
ae889c277a
Expose CFG simplification pass
...
llvm-svn: 2696
2002-05-21 20:04:15 +00:00
Chris Lattner
54e1edcecb
New testcase
...
llvm-svn: 2695
2002-05-21 20:03:42 +00:00
Chris Lattner
e628d8b2b9
Fix bug: test/Regression/Transforms/CFGSimplify/2002-05-21-PHIElimination.ll
...
llvm-svn: 2694
2002-05-21 19:52:49 +00:00
Chris Lattner
77c333368c
Update run line
...
llvm-svn: 2693
2002-05-21 19:33:17 +00:00
Chris Lattner
05b7ed23ec
This testcase was very broken! The block could not be merged because then
...
there would be a broken PHI node
llvm-svn: 2692
2002-05-21 19:32:58 +00:00
Chris Lattner
bea29dd1db
New testcase
...
llvm-svn: 2691
2002-05-21 19:22:10 +00:00
Chris Lattner
b82857d705
Fix bug: test/Regression/CBackend/2002-05-21-MissingReturn.ll
...
llvm-svn: 2690
2002-05-21 18:05:19 +00:00
Chris Lattner
bbfc502d75
New TEstcase
...
llvm-svn: 2689
2002-05-21 18:04:58 +00:00
Mehwish Nagda
54a7cdf7e9
Fixed the makefile to not die when compiling a new, empty, source directory
...
llvm-svn: 2688
2002-05-21 15:58:24 +00:00
Chris Lattner
25a4e91333
Remove unneccesary path from link line now
...
llvm-svn: 2679
2002-05-20 21:47:40 +00:00
Chris Lattner
5349ba3178
Allow libraries to specify other libraries to link to
...
llvm-svn: 2678
2002-05-20 21:45:44 +00:00
Chris Lattner
c7e2f5bbd7
* Change commandline options a bit to be nicer
...
* Insert accurate prototypes for functions
* Insert casts to use accurate prototypes
llvm-svn: 2677
2002-05-20 21:43:59 +00:00
Chris Lattner
1752fa9899
Hide debugging options
...
llvm-svn: 2676
2002-05-20 21:39:10 +00:00
Chris Lattner
6b2ba36c18
Fix tracing code support to link in the tracing routines if neccesary.
...
This is required because trace code can insert calls to functions that
are (now) in an LLVM library, not a native library.
This change makes it easier to use the tracing code because the native
link options don't have to change, and it fits in a lot better with the
LLVM model.
llvm-svn: 2675
2002-05-20 21:20:08 +00:00
Chris Lattner
7d07dffa5f
Remove explicit support for tracing code. It should be linked into the
...
executable just like everything else.
llvm-svn: 2674
2002-05-20 21:17:16 +00:00
Chris Lattner
7563f3d1fb
Remove tracing code hack
...
llvm-svn: 2673
2002-05-20 21:16:46 +00:00
Chris Lattner
37ced9a9de
Tracelib is now an LLVM library just like all other libraries in this
...
directory.
If the test code needs to be resurrected in the future, it should be moved
into the test/Programs directory, linking with tracelib.
llvm-svn: 2672
2002-05-20 21:16:19 +00:00
Chris Lattner
284fbfcbf9
* If hashing a pointer, cast it to a 64 bit number so gcc doesn't warn
...
* Don't put extra stuff after #endif
llvm-svn: 2671
2002-05-20 21:15:30 +00:00
Chris Lattner
72b73e12f4
New testcase for bug
...
llvm-svn: 2670
2002-05-20 20:48:24 +00:00
Chris Lattner
c3d944c4f7
Fix bug: test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll
...
That was causing a miscompilation of strtol/atoi plus others
llvm-svn: 2669
2002-05-20 20:48:03 +00:00
Chris Lattner
58c7d2372e
Use literal newline instead of endl
...
llvm-svn: 2668
2002-05-20 19:49:24 +00:00
Chris Lattner
397f44cf06
Drop something that link will never support, use gccld instead
...
llvm-svn: 2667
2002-05-20 19:48:55 +00:00
Chris Lattner
69f8e162eb
Implement the printf function, used by assert
...
llvm-svn: 2666
2002-05-20 19:11:23 +00:00
Chris Lattner
0cfea31aee
Don't lose namespace qualifications on previous patch.
...
llvm-svn: 2664
2002-05-20 17:38:26 +00:00
Chris Lattner
db193d32ca
Rename IsPowerOf2 to isPowerOf2
...
llvm-svn: 2663
2002-05-19 21:20:19 +00:00
Chris Lattner
e56e490790
Cleanups, rename IsPowerOf2 to isPowerOf2
...
llvm-svn: 2662
2002-05-19 21:19:55 +00:00
Vikram S. Adve
4a1f943958
Add libsparc.a a second time to resolve link errors.
...
llvm-svn: 2661
2002-05-19 16:01:03 +00:00
Vikram S. Adve
db5bc3b4a2
Link with test/Libraries/libinstr32.a for runtime routines
...
supporting tracing. That should be moved to a "runtime" directory.
llvm-svn: 2660
2002-05-19 16:00:28 +00:00
Vikram S. Adve
02f9033264
Added external functions for hashing pointers to sequence numbers.
...
llvm-svn: 2659
2002-05-19 15:59:25 +00:00
Vikram S. Adve
8ebcebf6f9
Runtime routines to support tracing.
...
Currently includes code to hash pointers to sequence numbers.
The hash table should be separated out into a separate file
since that is generic. The rest of this code is pretty small.
llvm-svn: 2655
2002-05-19 15:49:58 +00:00
Vikram S. Adve
986a4f61da
Fix libs and includes for compiling with llc.
...
llvm-svn: 2654
2002-05-19 15:47:52 +00:00
Vikram S. Adve
5a71686624
Added log2 for log-base-2 and also modified IsPower2 to use it.
...
llvm-svn: 2653
2002-05-19 15:46:52 +00:00
Vikram S. Adve
45eb62b709
Added parameter IntRegSize for standard general-purpose register size.
...
llvm-svn: 2652
2002-05-19 15:44:07 +00:00
Vikram S. Adve
ee3fd3dda9
New function CreateSignExtensionInstructions.
...
Methods now take MachineCodeForInstruction& as an argument and record
temporary values in it directly, instead of return the temps.
Really simplifies callers.
llvm-svn: 2651
2002-05-19 15:43:31 +00:00
Vikram S. Adve
8261256950
Many functions that returned a single MachineInstr now take a
...
vector of MachineInstr* to return multiple ones.
llvm-svn: 2650
2002-05-19 15:42:21 +00:00
Vikram S. Adve
21ed1be093
InstrnsBefore and InstrnsAfter are now vectors instead of deques.
...
May be slightly less efficient but significantly reduces special
cases interfaces in code generation.
llvm-svn: 2649
2002-05-19 15:41:33 +00:00
Vikram S. Adve
2552231a8c
Better interface to generating machine instr for common cases
...
(many places still need to be updated to use this interface).
llvm-svn: 2648
2002-05-19 15:40:41 +00:00
Vikram S. Adve
0cc9f53701
MachineInstr now inherits from Annotable.
...
llvm-svn: 2647
2002-05-19 15:39:59 +00:00
Vikram S. Adve
c0db1765f4
Hash pointer values to a sequence number to get identical results from
...
lli and llc. This is controlled with options -tracehash on|off.
Also, added an option to specify which functions should be traced.
Particularly useful to reduce output volume in basic-block tracing.
llvm-svn: 2646
2002-05-19 15:39:02 +00:00
Vikram S. Adve
3d968bccd8
Better folding getelementptr operations with mixed
...
array and struct indexes.
Update operand values in CallArgsDescriptor (a new class)
when replacing constant values with immediates.
llvm-svn: 2645
2002-05-19 15:34:29 +00:00
Vikram S. Adve
883c425f15
cpValue2Value now needs a vector of MachineInstr to store return values.
...
llvm-svn: 2644
2002-05-19 15:31:08 +00:00
Vikram S. Adve
1f8badf623
Annotation class for MachineInstr.
...
llvm-svn: 2643
2002-05-19 15:30:21 +00:00