Chris Lattner
dedee7bf15
* Implement expression type conversion for constant values
...
* Fix a problem setting a name on a constant value that died because no symbol table was passed in
* Add some comments describing the passes
* Implement a new peephole:
// Peephole optimize the following instructions:
// %t = cast <T1>* %P to <T2> * ;; If T1 is losslessly convertable to T2
// store <T2> %V, <T2>* %t
//
// Into:
// %t = cast <T2> %V to <T1>
// store <T1> %t2, <T1>* %P
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1080 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:57:59 +00:00
Chris Lattner
edefaa1196
Simplify DCE code a lot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1079 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:55:29 +00:00
Chris Lattner
76ac1a45b4
Implement constant propogation of null pointer values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1078 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:55:13 +00:00
Chris Lattner
d558426b0e
Add simpler to use ctors. Add getType() overload to specialize getelementptr's type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1077 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:54:28 +00:00
Chris Lattner
0eca13bf58
Add new isNullValue method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1076 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 05:53:56 +00:00
Chris Lattner
8d38e54c2f
* Convert getelementptr/store pairs into a single store
...
* Convert getelementptr/load pairs into a single load
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1075 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 03:12:34 +00:00
Chris Lattner
d32a96121b
Initial checkin of level raising code, after move and cleanup and expands from the opt directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1074 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:42:08 +00:00
Chris Lattner
d3f9a98f66
Initial checkin of level raising code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1073 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:41:52 +00:00
Chris Lattner
068f487ee5
Move the Raise xform from opt to transforms
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1072 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:41:09 +00:00
Chris Lattner
591bda986e
Propogate name to the malloc itself instead of to the cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1071 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:40:36 +00:00
Chris Lattner
4cc5eb2615
Move level change xfor into the transforms directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1070 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:39:49 +00:00
Chris Lattner
b86751715c
Add some useful accessors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1069 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-01 02:39:36 +00:00
Chris Lattner
dbe0514e12
crunch the output of GCC a bit to make it nicer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1068 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:36:48 +00:00
Chris Lattner
2305b6c3a7
Start testing the new cleangcc pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1067 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:36:34 +00:00
Chris Lattner
7ef6559718
Use the correct prototype for malloc and free
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1066 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:36:23 +00:00
Chris Lattner
bfe11108ad
Implement code to convert %malloc and %free FUNCTION CALLS into the instruction equivalent
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1065 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 06:35:59 +00:00
Chris Lattner
37aabf28b3
Implemented constant propogation of cast instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1064 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 05:07:57 +00:00
Chris Lattner
11c862cf46
Fix dumb copy and paste typos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1063 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:33:33 +00:00
Chris Lattner
e51e03b3c6
Initial version of GCC cleanup pass: just removes extraneous global symbol table entries for types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1062 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:33:19 +00:00
Chris Lattner
2fa11445cd
New GCC cleanup pass interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1061 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:32:53 +00:00
Chris Lattner
e166fe1910
Add hook for GCC cleanup pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1060 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:29:44 +00:00
Chris Lattner
f83bcfcd00
Build new gccas tool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1059 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:29:30 +00:00
Chris Lattner
ecbde333a2
Initial checkin of GCCAS
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1058 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 04:28:11 +00:00
Chris Lattner
a3ad7bbbb1
Initial checkin of heapsort benchmark
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1057 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 02:28:25 +00:00
Chris Lattner
4f68528de4
Fix bug when inlining a method that refers to a global variable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1056 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-31 02:27:26 +00:00
Chris Lattner
53b20c34dc
Implement memset memcpy, calloc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1055 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 22:37:01 +00:00
Chris Lattner
db351718d0
Initial checkin of ary3 "benchmark" from prog lang shootout
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1051 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 22:17:57 +00:00
Chris Lattner
4d0e1f96f4
Implement xor operator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1050 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:54:36 +00:00
Chris Lattner
2b2e5b360e
Initialize map for purify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1049 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:28:46 +00:00
Chris Lattner
5deea3c5c5
callExternalMethod now returns the return value of the function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1048 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:28:23 +00:00
Chris Lattner
4721f1304f
Implement a gross function name map that must be used when linking statically
...
This is for use with purify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1047 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:28:00 +00:00
Chris Lattner
bb76f02756
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1046 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:27:31 +00:00
Chris Lattner
6e39070b09
Add easy way to enable purify support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1045 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 20:24:08 +00:00
Chris Lattner
a5637fc466
Don't fail to load runtime if running LLI from the current directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1044 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 16:40:37 +00:00
Chris Lattner
55fd998ce7
Initialize isRecursive. Found by Purify
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1043 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 16:39:16 +00:00
Chris Lattner
6c80e732dc
Fix ordering problem. Found by purify. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1042 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 16:38:49 +00:00
Chris Lattner
bfbed460df
Add testcase for missed SCCP optimization
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1040 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-30 03:22:59 +00:00
Chris Lattner
f5b2ec19ce
Print out a label if we step into the first instruction of a basic block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1038 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 20:44:34 +00:00
Chris Lattner
08845a242c
* Fix pow wrapper to actually work
...
* Implement rudimentary printf support for lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1037 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 20:27:45 +00:00
Chris Lattner
95c3af584f
Implement getelementptr instruction as well as the load and store forms
...
that incorporate gep
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1036 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 19:32:19 +00:00
Chris Lattner
fe83ab527d
I screwed up the macros, so of course strtol didn't work. *sigh*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1035 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 17:47:10 +00:00
Chris Lattner
111bd01c11
Fix broken assertion. Didn't allow for pointer case
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1034 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 17:27:38 +00:00
Chris Lattner
43a6f2e332
Pull method symbols over when linking. Otherwise the result of the link will appear stripped
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1033 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:55:41 +00:00
Chris Lattner
7b8660d72f
Fix blatent bugs in checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1032 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:40:32 +00:00
Chris Lattner
207b5bc6a1
Expose the WriteTypeSymbolic function from the library. Refactor code to make
...
this function explicit. Cause WriteAsOperand to use symbolic types as available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1031 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:37:48 +00:00
Chris Lattner
a828014adf
Expose some more printing functionality from the assembly writer library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1030 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:36:49 +00:00
Chris Lattner
c182499645
Be careful to output symbolic type name if possible for a type. This makes
...
debugging the Olden/health benchmark actually possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1029 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:05:51 +00:00
Chris Lattner
069aa256af
Remember to print out the next instruction if stepping over an external method call
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1028 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 16:05:19 +00:00
Chris Lattner
a74a6b5fdf
Fix problem next'ing over an external method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1027 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 14:08:33 +00:00
Chris Lattner
aa7420b35b
Oops, accidentally broke reading from stdin when doing command line arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1026 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-29 14:00:48 +00:00