1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 06:22:51 +01:00
Commit Graph

2553 Commits

Author SHA1 Message Date
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
Vikram S. Adve
6133689517 Numerous bug fixes:
-- 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
2002-05-19 15:29:31 +00:00