1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

576 Commits

Author SHA1 Message Date
Chris Lattner
009d9de81c Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent
llvm-svn: 1065
2001-10-31 06:35:59 +00:00
Chris Lattner
91fc057638 Implemented constant propogation of cast instructions
llvm-svn: 1064
2001-10-31 05:07:57 +00:00
Chris Lattner
a9dacc1925 Initial version of GCC cleanup pass: just removes extraneous global symbol table entries for types
llvm-svn: 1062
2001-10-31 04:33:19 +00:00
Chris Lattner
98ce708757 Fix bug when inlining a method that refers to a global variable
llvm-svn: 1056
2001-10-31 02:27:26 +00:00
Chris Lattner
1474ad4c46 Implement xor operator
llvm-svn: 1050
2001-10-30 20:54:36 +00:00
Chris Lattner
5ea831acc4 callExternalMethod now returns the return value of the function
llvm-svn: 1048
2001-10-30 20:28:23 +00:00
Chris Lattner
b773a4e59d Implement a gross function name map that must be used when linking statically
This is for use with purify

llvm-svn: 1047
2001-10-30 20:28:00 +00:00
Chris Lattner
d85d2dfcba * Add some assertions for checking internal error conditions
* Implement the 'rem' instruction
* Fix getelementptr to work right
* Copy the return result of an external function call into the receiving value
* Convert stuff to new style casts

llvm-svn: 1046
2001-10-30 20:27:31 +00:00
Chris Lattner
727495d6dc Don't fail to load runtime if running LLI from the current directory
llvm-svn: 1044
2001-10-30 16:40:37 +00:00
Chris Lattner
7f8034b73b Initialize isRecursive. Found by Purify
llvm-svn: 1043
2001-10-30 16:39:16 +00:00
Chris Lattner
84d4bc52df Print out a label if we step into the first instruction of a basic block
llvm-svn: 1038
2001-10-29 20:44:34 +00:00
Chris Lattner
b4899254c0 * Fix pow wrapper to actually work
* Implement rudimentary printf support for lli

llvm-svn: 1037
2001-10-29 20:27:45 +00:00
Chris Lattner
3f63736182 Implement getelementptr instruction as well as the load and store forms
that incorporate gep

llvm-svn: 1036
2001-10-29 19:32:19 +00:00
Chris Lattner
37164a34d5 Fix broken assertion. Didn't allow for pointer case
llvm-svn: 1034
2001-10-29 17:27:38 +00:00
Chris Lattner
d8958859d9 Pull method symbols over when linking. Otherwise the result of the link will appear stripped
llvm-svn: 1033
2001-10-29 16:55:41 +00:00
Chris Lattner
ee3536a8e6 Fix blatent bugs in checkin
llvm-svn: 1032
2001-10-29 16:40:32 +00:00
Chris Lattner
2c6b9de3ca Expose the WriteTypeSymbolic function from the library. Refactor code to make
this function explicit.  Cause WriteAsOperand to use symbolic types as available.

llvm-svn: 1031
2001-10-29 16:37:48 +00:00
Chris Lattner
29a0fa2839 Be careful to output symbolic type name if possible for a type. This makes
debugging the Olden/health benchmark actually possible.

llvm-svn: 1029
2001-10-29 16:05:51 +00:00
Chris Lattner
c476c9b156 Remember to print out the next instruction if stepping over an external method call
llvm-svn: 1028
2001-10-29 16:05:19 +00:00
Chris Lattner
3f9f8e34ca Fix problem next'ing over an external method
llvm-svn: 1027
2001-10-29 14:08:33 +00:00
Chris Lattner
1153a795eb Check in to use moved stringizing code
llvm-svn: 1024
2001-10-29 13:39:38 +00:00
Chris Lattner
2d8ab10610 Remove C string capability from VMCore library. Move to Support
llvm-svn: 1021
2001-10-29 13:27:09 +00:00
Vikram S. Adve
3af80d1a15 Make newlines be newlines! This should now work in both lli and native code.
llvm-svn: 1016
2001-10-28 22:44:02 +00:00
Chris Lattner
42883552ec Remove non linking related stuff
llvm-svn: 1015
2001-10-28 22:43:06 +00:00
Chris Lattner
4c2070b697 Fix some illegal uses of the ## operator
llvm-svn: 1013
2001-10-28 22:38:22 +00:00
Vikram S. Adve
c3bc8c623a Minor fix I omitted to check in.
llvm-svn: 1012
2001-10-28 22:19:06 +00:00
Vikram S. Adve
45733991b9 Support printing control characters in standard C/assembly style,
if you specify useCSyntax = true.  The old style is still the default.

llvm-svn: 1011
2001-10-28 21:48:05 +00:00
Vikram S. Adve
7cb485ebbd Record constants that need to be emitted in the assembly code.
llvm-svn: 1010
2001-10-28 21:46:23 +00:00
Vikram S. Adve
ffe94cb175 Allow combinations of True/Anti/Output flags for each edge to
support, e.g., dependences on Call instructions.

llvm-svn: 1009
2001-10-28 21:45:02 +00:00
Vikram S. Adve
9515b10102 Add edges between call instructions and (a) load/store instructions, and
(b) any instructions that use or set CC registers.  Whether or not the
latter are needed really should be machine-dependent.

llvm-svn: 1008
2001-10-28 21:43:33 +00:00
Vikram S. Adve
98a0f1fa14 Generate SETX for 64-bit integers!
llvm-svn: 1007
2001-10-28 21:41:46 +00:00
Vikram S. Adve
64c463355b Add SETX instruction for 64-bit constants.
Add M_CC_FLAG for many instructions that use int or fp CC registers.

llvm-svn: 1006
2001-10-28 21:41:01 +00:00
Vikram S. Adve
165284e269 Need to subtract, not add, stack size in SAVE instruction!
llvm-svn: 1005
2001-10-28 21:39:47 +00:00
Vikram S. Adve
b354629285 Major overhaul to print globals and constants.
llvm-svn: 1004
2001-10-28 21:38:52 +00:00
Vikram S. Adve
2c1193dfdd Added name-mangling routines for future use.
llvm-svn: 1003
2001-10-28 21:38:02 +00:00
Vikram S. Adve
767c1505bc Use separate functions for printing values of each type.
Put trace code before condition-generating instruction in basic blocks
that end in a conditional branch.

llvm-svn: 1002
2001-10-28 21:37:25 +00:00
Vikram S. Adve
fa2af8b48c Add methods print<TYPE> for String, Pointer, and each primitive type.
llvm-svn: 994
2001-10-28 20:52:27 +00:00
Ruchira Sasanka
3c4d2dea7c Added support for spilling
llvm-svn: 992
2001-10-28 18:15:12 +00:00
Ruchira Sasanka
e095b077cf Added spill code support; moved insertCallerSaving to SparRegInfo since
we need to handle %ccr reg in a special way.

llvm-svn: 990
2001-10-28 18:12:02 +00:00
Chris Lattner
52736dc8e3 Implement a -trace command line option and a trace option in the interpreter.
llvm-svn: 989
2001-10-27 08:43:52 +00:00
Chris Lattner
9def26ab6b * Make pointer values work better by treating them uniformly as 64 bit values.
This causes code that is generated by gcc to work better.
* Implement mul & div
* Export malloc, free, and pow
* add strtol, atoi, and atol to the runtime library

llvm-svn: 988
2001-10-27 08:28:11 +00:00
Chris Lattner
de2726ed00 Provide argv for commands
llvm-svn: 987
2001-10-27 05:54:31 +00:00
Chris Lattner
269c7dd5d3 Provide option to enable eating of all arguments following a specific one
llvm-svn: 986
2001-10-27 05:54:17 +00:00
Chris Lattner
e04a4efa13 * Implement exit() builtin function
* Implement linked in runtime library with puts(char*) in it
* implement builtin putchar(int) function

llvm-svn: 985
2001-10-27 04:15:57 +00:00
Ruchira Sasanka
f8a3d5f0ca Fixed load syntax in EmitAssembly
Fixed cpReg2Mem (store) operand oreder in SparcRegInfo.cpp

llvm-svn: 984
2001-10-24 22:05:34 +00:00
Chris Lattner
fc68c300ce Add support for building a runtime library for LLI
llvm-svn: 983
2001-10-24 19:52:41 +00:00
Ruchira Sasanka
603b617221 Fixed logic for checking whether a LR received the correct color.
llvm-svn: 976
2001-10-24 15:56:58 +00:00
Chris Lattner
c3cee9637c Clean up error handling a bit. Add / as a seperator for command line arguments. This is just a big old ugly hack.
llvm-svn: 974
2001-10-24 06:21:56 +00:00
Chris Lattner
b0b7551e5f Frivolous cleanups
llvm-svn: 973
2001-10-24 06:21:22 +00:00
Chris Lattner
668806b733 Dang it, do NOT check in code that enables debugging. Bad chris
llvm-svn: 972
2001-10-24 05:14:35 +00:00