Vikram S. Adve
8becaedfa8
Test case that shows some poor results for register allocation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4167 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 14:53:06 +00:00
Chris Lattner
bb6b121689
Allow emission of names that start with an underscore. This is needed to
...
interface with code that uses symbols in the ansi-c protected namespace. In
most cases this comes from system header files, such as stdio.h. In particular,
without this change, a reference to the __iob symbol is mangled into ll_iob,
which is not resolved by libc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4165 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 06:14:18 +00:00
Chris Lattner
5f8bd7d966
MAke sure llc output is regenerated if the LLC binary changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4164 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 06:12:10 +00:00
Chris Lattner
6463e0df85
Clean up code a bit, no functionality changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4162 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 03:34:17 +00:00
Chris Lattner
bbd4b303e3
There is no way to guarantee that constants are not forward referenced.
...
Handle forward referenced constants in a general way. This fixes bug:
Assembler/2002-10-13-ConstantEncodingProblem.llx and allows the SPEC
197.parser benchmark to be built
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4161 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 03:33:02 +00:00
Chris Lattner
34048e2ace
- Dramatically simplify the Constant::mutateReferences implementation,
...
allowing it to be called on all constant types (structures/arrays)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4160 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 03:30:23 +00:00
Chris Lattner
9e932bd566
This loop executed exactly one time, turn it into straightline code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4159 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 03:28:42 +00:00
Nick Hildenbrandt
700d48806b
More results
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4158 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 01:08:06 +00:00
Chris Lattner
479b54b6bb
Minor cleanups, no changes to functionality
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4157 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 00:48:57 +00:00
Nick Hildenbrandt
349206c573
More successes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4156 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 22:43:11 +00:00
Nick Hildenbrandt
5a5d0e1a0f
New Results
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4155 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 22:10:08 +00:00
Chris Lattner
be99614bbb
Simplify again
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4154 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 21:51:55 +00:00
Vikram S. Adve
8e22ead3b4
Don't try to compute the size of an "array" element if the index is 0:
...
the size may be unknown, and is not needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4153 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 21:47:44 +00:00
Chris Lattner
d2db6c5236
Simplify testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4152 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 21:47:43 +00:00
Chris Lattner
e22abec520
Rename test so that we can run the disassembler on it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4151 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 21:43:56 +00:00
Chris Lattner
0cd05debae
Checking testcase for bytecode reader/writer that is causing the SPEC parser
...
benchmark to not build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4150 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 21:38:21 +00:00
Chris Lattner
69da5cf261
- Change Function's so that their argument list is populated when they are
...
constructed. Before, external functions would have an empty argument list,
now a Function ALWAYS has a populated argument list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4149 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 20:57:00 +00:00
Chris Lattner
0b16ae209a
- Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to
...
reflect the fact that it's a range being defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4147 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:39:16 +00:00
Chris Lattner
f6c52db371
Halfway conversion from custom printing to GraphWriter printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4146 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:31:57 +00:00
Chris Lattner
2576aef32b
First crack at reimplementing graph traits for DSGraphs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4145 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:31:34 +00:00
Chris Lattner
d063725c3c
disable the unused "pointer" member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:30:44 +00:00
Chris Lattner
eaa359586c
Account for global variables resolved more accurately.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4143 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 17:30:30 +00:00
Chris Lattner
66c25ff438
Use methods that are more explanatory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4142 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 17:12:47 +00:00
Chris Lattner
b38e4fd8b0
Add dummy entries to document what members can be added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4141 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 17:12:05 +00:00
Vikram S. Adve
f289911a6c
Add a test for folding a GEP into a load.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4139 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:44:00 +00:00
Vikram S. Adve
1632e882f1
Use vectors instead of hash_maps for issueGaps and conflictLists.
...
These hash lookups were a major sink of time because they happen so often!
Also, add option to disable scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4138 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:40:37 +00:00
Vikram S. Adve
acf0f704f9
Major bug fix: was not adding CD edges for RETURNs!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4137 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:39:22 +00:00
Vikram S. Adve
5aefcad35b
Use vectors instead of hash_maps for issueGaps and conflictLists.
...
These hash lookups were a major sink of time because they happen so often!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4136 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:37:46 +00:00
Vikram S. Adve
516b26fd86
Run LICM before GCSE!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4135 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:34:10 +00:00
Vikram S. Adve
fee76265ff
Several major fixes, particularly in emitting constant aggregates:
...
(1) Padding bytes between structure fields (for alignment) were never
being emitted into the constant pool so the layout did not match!
(2) In printing constants, structures containing structures or arrays
were never handled.
(3) Support new model for external/uninitialized/initialized globals.
Uninitialized globals are no longer emitted since they are external.
Initialized globals may go either in .bss or in .data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4134 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:32:18 +00:00
Vikram S. Adve
42e90cf4be
Don't use %l0 for large operands to a SAVE since it is needed *before* SAVE!
...
We now use %g1 instead since that is shared and volatile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4133 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:24:06 +00:00
Vikram S. Adve
e0048667dd
Don't mark JMPLCALL and JMPLRET as branches.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4132 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:22:32 +00:00
Nick Hildenbrandt
fe4f677a97
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4131 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:20:48 +00:00
Vikram S. Adve
d3e26482ff
(1) Try to evaluate constant when multiplying 2 constants.
...
(2) Use intelligent multiply selection code for array allocas.
(3) Don't use cache padding for alloca'd stack slots!
(4) Bug fix in handling call arguments: was not copying sixth FP arg
to int reg. when calling a function with no prototype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4130 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:18:57 +00:00
Vikram S. Adve
04ef49985b
Eliminate duplicate target pointer in SparcRegInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4129 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:06:04 +00:00
Vikram S. Adve
c654c784f6
Eliminate duplicate target pointer. Also add a few assertions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4128 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:05:30 +00:00
Vikram S. Adve
893cace8e2
Make sure to handle small negative values hiding as large unsigned longs --
...
this is a common case created by the front-end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4127 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:04:26 +00:00
Vikram S. Adve
d0451a9233
Major fix: extract ConstantExpr nodes and decompose them into symbolic
...
instructions so that (a) constant folding is done automatically before
code generation, and (b) selection does not have to deal with them.
Also, check for ConstantPointerRefs in additional to GlobalValues
when creating a GEP to load a global address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4126 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:01:57 +00:00
Vikram S. Adve
cd334b8dc6
Added inline constant expressions, including uses in binary subtract.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-12 23:47:36 +00:00
Chris Lattner
ff47702a6e
New testcase that causes invalid llvm to be emitted by cfe
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4124 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-12 23:37:34 +00:00
Chris Lattner
68ed318d33
* Fix extract to work with constant pointer refs correctly
...
* Extract makes all global vars external, so they don't have initializers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4121 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-12 20:50:16 +00:00
Anand Shukla
3383b1d3bb
Changed to external global var
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4120 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-12 20:33:47 +00:00
Nick Hildenbrandt
2123c08f20
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4119 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 22:22:12 +00:00
Nick Hildenbrandt
98360a1752
Instead of adding stdlib we just prototype malloc correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4118 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 21:40:44 +00:00
Nick Hildenbrandt
c7140e9bd9
Sun requires you to include stdlib to use malloc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4117 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 18:41:44 +00:00
Vikram S. Adve
cb202e3de5
Major bug fix: spill code for an instruction in a delay slot was
...
merrily being inserted before/after the instruction!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4116 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 16:12:40 +00:00
Vikram S. Adve
cde3982b02
Don't pad variables in stack slots for performance!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4115 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 16:10:53 +00:00
Vikram S. Adve
6e0bb63264
Use PARALLEL_DIRS.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4114 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 16:08:17 +00:00
Misha Brukman
a27229013f
Added capability to get execution count of a loop if it is a predictable
...
number of iterations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4113 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 05:34:32 +00:00
Misha Brukman
6b290a5440
Added helper functions in LoopInfo: isLoopExit and numBackEdges.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4112 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 05:31:10 +00:00