Chris Lattner [Thu, 17 Oct 2002 04:22:16 +0000 (04:22 +0000)]
* Remove a lot of obsolete #if 0'd code
* Add a simple getNodeForValue method to access the ValueMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4211
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 01:36:08 +0000 (01:36 +0000)]
Use the forward declaration for GraphTraits instead of #including
the header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4210
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 01:02:46 +0000 (01:02 +0000)]
Cleanup data structure graph printer, eliminate hard coded printing in
favor of generic printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4209
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 01:01:06 +0000 (01:01 +0000)]
Be const correct. Handle both DSGraph* and const DSGraph*'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 00:59:59 +0000 (00:59 +0000)]
Break up the GraphWriter into smaller chunks to be used in different ways
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 17 Oct 2002 00:16:39 +0000 (00:16 +0000)]
As wierd as it feels to type it, const void* is more generic than void*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4206
91177308-0d34-0410-b5e6-
96231b3b80d8
Joel Stanley [Wed, 16 Oct 2002 23:26:00 +0000 (23:26 +0000)]
Added partial specialization of GraphTraits for the DominatorTree class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4205
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Wed, 16 Oct 2002 22:12:31 +0000 (22:12 +0000)]
changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:16:16 +0000 (20:16 +0000)]
Make sure to print out the call nodes as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:15:38 +0000 (20:15 +0000)]
Allow simple nodes to have outgoing edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:08:47 +0000 (20:08 +0000)]
Fix bug: CBackend/2002-10-16-External.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 20:08:19 +0000 (20:08 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 02:04:36 +0000 (02:04 +0000)]
* Print the "return" node in the graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 02:03:18 +0000 (02:03 +0000)]
* Factor printing code again, add emitSimpleNode method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:44:59 +0000 (01:44 +0000)]
* Add new DOTGraphTraits::addCustomGraphFeatures method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4197
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:43:11 +0000 (01:43 +0000)]
The second element of the iterator is really an offset, not a link
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4196
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:34:28 +0000 (01:34 +0000)]
Specify the graph name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4195
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:34:18 +0000 (01:34 +0000)]
* Significantly refactor GraphWriter into a class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4194
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:18:27 +0000 (01:18 +0000)]
- DSGraph Printing Improvements:
* Print edge source labels again
* Override node shape to be Mrecord again, instead of just record.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4193
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:18:14 +0000 (01:18 +0000)]
- Generic graph printing infrastructure changes:
* Only print outgoing edges from a cell if the destination isn't null.
This is important for DSGraphs, which have sources with no edges.
* Allow Node attributes to override shape of the node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4192
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 01:17:16 +0000 (01:17 +0000)]
Allow direct access to mergemap for printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4191
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 00:08:22 +0000 (00:08 +0000)]
Fix bug: test/Regression/CBackend/2002-10-15-OpaqueTypeProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 16 Oct 2002 00:08:08 +0000 (00:08 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:41:14 +0000 (21:41 +0000)]
- Fix bug: Assembler/2002-10-15-NameClash.ll
- Clean up code a bit, s/Method/Function/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:39:49 +0000 (21:39 +0000)]
Clean up testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:26:29 +0000 (21:26 +0000)]
- Eliminate SymbolTable::ParentSymTab, ST::localLookup, and
Function::ParentSymTab. These aren't needed at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:21:42 +0000 (21:21 +0000)]
Cleanup test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4185
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:20:18 +0000 (21:20 +0000)]
Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4184
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:18:03 +0000 (21:18 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4183
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:14:24 +0000 (21:14 +0000)]
Cleanup testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4182
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 21:10:53 +0000 (21:10 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4181
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 20:34:05 +0000 (20:34 +0000)]
- Fix LLI so that it simulates the endianness of the target machine
correctly, despite the fact that the host machine might not be the same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4180
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 15 Oct 2002 19:56:24 +0000 (19:56 +0000)]
Make sure to escape \'s when they are output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4179
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 15 Oct 2002 01:59:45 +0000 (01:59 +0000)]
Remove outdated line which of course cvs merging never detects...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4175
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 22:41:13 +0000 (22:41 +0000)]
- Add an endianness field to the TargetData datastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4174
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:40:04 +0000 (16:40 +0000)]
Allow the Source variable to be overridden completely if needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4172
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:32:49 +0000 (16:32 +0000)]
Print "circular" warning message only in debug mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4170
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:32:24 +0000 (16:32 +0000)]
Removed misleading const keyword.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4169
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 16:30:55 +0000 (16:30 +0000)]
Significant improvement: GEP used by a load or store no longer generates
a separate ADD; instead just use the indexed load/store instruction!
Also, a bug fix: folding a GEP with a leading non-zero index with
its predecessor was incorrect: now it only happens if the predecessor
is pointing to an indexable type (aka SequentialType).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4168
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 14 Oct 2002 14:53:06 +0000 (14:53 +0000)]
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
Chris Lattner [Mon, 14 Oct 2002 06:14:18 +0000 (06:14 +0000)]
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
Chris Lattner [Mon, 14 Oct 2002 06:12:10 +0000 (06:12 +0000)]
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
Chris Lattner [Mon, 14 Oct 2002 03:34:17 +0000 (03:34 +0000)]
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
Chris Lattner [Mon, 14 Oct 2002 03:33:02 +0000 (03:33 +0000)]
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
Chris Lattner [Mon, 14 Oct 2002 03:30:23 +0000 (03:30 +0000)]
- 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
Chris Lattner [Mon, 14 Oct 2002 03:28:42 +0000 (03:28 +0000)]
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
Nick Hildenbrandt [Mon, 14 Oct 2002 01:08:06 +0000 (01:08 +0000)]
More results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 14 Oct 2002 00:48:57 +0000 (00:48 +0000)]
Minor cleanups, no changes to functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4157
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Sun, 13 Oct 2002 22:43:11 +0000 (22:43 +0000)]
More successes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4156
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Sun, 13 Oct 2002 22:10:08 +0000 (22:10 +0000)]
New Results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 21:51:55 +0000 (21:51 +0000)]
Simplify again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4154
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 13 Oct 2002 21:47:44 +0000 (21:47 +0000)]
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
Chris Lattner [Sun, 13 Oct 2002 21:47:43 +0000 (21:47 +0000)]
Simplify testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 21:43:56 +0000 (21:43 +0000)]
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
Chris Lattner [Sun, 13 Oct 2002 21:38:21 +0000 (21:38 +0000)]
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
Chris Lattner [Sun, 13 Oct 2002 20:57:00 +0000 (20:57 +0000)]
- 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
Chris Lattner [Sun, 13 Oct 2002 19:39:16 +0000 (19:39 +0000)]
- 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
Chris Lattner [Sun, 13 Oct 2002 19:31:57 +0000 (19:31 +0000)]
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
Chris Lattner [Sun, 13 Oct 2002 19:31:34 +0000 (19:31 +0000)]
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
Chris Lattner [Sun, 13 Oct 2002 19:30:44 +0000 (19:30 +0000)]
disable the unused "pointer" member
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 17:30:30 +0000 (17:30 +0000)]
Account for global variables resolved more accurately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 17:12:47 +0000 (17:12 +0000)]
Use methods that are more explanatory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 13 Oct 2002 17:12:05 +0000 (17:12 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:44:00 +0000 (00:44 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:40:37 +0000 (00:40 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:39:22 +0000 (00:39 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:37:46 +0000 (00:37 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:34:10 +0000 (00:34 +0000)]
Run LICM before GCSE!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4135
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 13 Oct 2002 00:32:18 +0000 (00:32 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:24:06 +0000 (00:24 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:22:32 +0000 (00:22 +0000)]
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
Nick Hildenbrandt [Sun, 13 Oct 2002 00:20:48 +0000 (00:20 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4131
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 13 Oct 2002 00:18:57 +0000 (00:18 +0000)]
(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
Vikram S. Adve [Sun, 13 Oct 2002 00:06:04 +0000 (00:06 +0000)]
Eliminate duplicate target pointer in SparcRegInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4129
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 13 Oct 2002 00:05:30 +0000 (00:05 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:04:26 +0000 (00:04 +0000)]
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
Vikram S. Adve [Sun, 13 Oct 2002 00:01:57 +0000 (00:01 +0000)]
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
Vikram S. Adve [Sat, 12 Oct 2002 23:47:36 +0000 (23:47 +0000)]
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
Chris Lattner [Sat, 12 Oct 2002 23:37:34 +0000 (23:37 +0000)]
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
Chris Lattner [Sat, 12 Oct 2002 20:50:16 +0000 (20:50 +0000)]
* 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
Anand Shukla [Sat, 12 Oct 2002 20:33:47 +0000 (20:33 +0000)]
Changed to external global var
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4120
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Fri, 11 Oct 2002 22:22:12 +0000 (22:22 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4119
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Fri, 11 Oct 2002 21:40:44 +0000 (21:40 +0000)]
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
Nick Hildenbrandt [Fri, 11 Oct 2002 18:41:44 +0000 (18:41 +0000)]
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
Vikram S. Adve [Fri, 11 Oct 2002 16:12:40 +0000 (16:12 +0000)]
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
Vikram S. Adve [Fri, 11 Oct 2002 16:10:53 +0000 (16:10 +0000)]
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
Vikram S. Adve [Fri, 11 Oct 2002 16:08:17 +0000 (16:08 +0000)]
Use PARALLEL_DIRS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4114
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 11 Oct 2002 05:34:32 +0000 (05:34 +0000)]
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
Misha Brukman [Fri, 11 Oct 2002 05:31:10 +0000 (05:31 +0000)]
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
Chris Lattner [Thu, 10 Oct 2002 22:31:31 +0000 (22:31 +0000)]
Expose API to graph library to allow iteration over all nodes, even unreachable ones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Oct 2002 22:31:02 +0000 (22:31 +0000)]
Change reference
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Oct 2002 22:29:51 +0000 (22:29 +0000)]
* Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
* Allow custom graph traits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4109
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Oct 2002 22:29:10 +0000 (22:29 +0000)]
Add new getGraphProperties that may be specialized by graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4108
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Oct 2002 20:36:37 +0000 (20:36 +0000)]
Rename DataStructureGraph.h to DSGraphTraits.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Oct 2002 20:33:46 +0000 (20:33 +0000)]
Stop using DataStructureGraph.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4106
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 10 Oct 2002 19:28:10 +0000 (19:28 +0000)]
Switch over to the right sparc c frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4105
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 23:16:04 +0000 (23:16 +0000)]
- Dramatically simplify the ConstantMerge code now that
Value::replaceAllUsesWith works with constants correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4104
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 23:12:59 +0000 (23:12 +0000)]
- Make Value::replaceAllUsesWith work with constants correctly. This fixes
bug FuncResolve/2002-08-19-ResolveGlobalVars.ll and gzip looks better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 23:12:25 +0000 (23:12 +0000)]
- Add new Constant::replaceUsesOfWithOnConstant which has an end result
similar to User::replaceUsesOfWith but actually does the right thing for
constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4102
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 23:11:33 +0000 (23:11 +0000)]
Make isExtern() be a virtual function inherited from GlobalValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4101
91177308-0d34-0410-b5e6-
96231b3b80d8