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
Nick Hildenbrandt [Wed, 9 Oct 2002 21:49:44 +0000 (21:49 +0000)]
Table with current status of tests in the /test/Programs/ directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4100
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 21:10:06 +0000 (21:10 +0000)]
Almost a complete rewrite of FunctionResolution to now resolve functions
and global variables.
This fixes bug: FuncResolve/2002-08-19-ResolveGlobalVarsEasier.ll
And bug: SingleSource/UnitTests/2002-10-09-ArrayResolution.c
Note that this does not fix bug:
FunctionResolve/2002-08-19-ResolveGlobalVars.ll because replaceAllUsesWith
breaks when a constantexpr is pointing to the thing being replaced. This
is more of an infrastructure problem than anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4099
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 20:55:32 +0000 (20:55 +0000)]
Add check to see if opt aborts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4098
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 20:37:13 +0000 (20:37 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4097
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 20:36:54 +0000 (20:36 +0000)]
Avoid having testcases spit out bytecode on error
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4096
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 17:44:34 +0000 (17:44 +0000)]
Cleanup testcase a lot to test JUST funcresolve of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4095
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 00:42:03 +0000 (00:42 +0000)]
- Detemplatize UseTy<> in Value.h, because it's only instantiated for one
type!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4093
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 9 Oct 2002 00:30:20 +0000 (00:30 +0000)]
Added a major mode for Emacs to edit LLVM assembler code with syntax
highlighting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4092
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 00:25:32 +0000 (00:25 +0000)]
Minor, non-functionality changing, formatting fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4091
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 00:25:05 +0000 (00:25 +0000)]
- Remove Value::use_remove
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4090
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 00:25:01 +0000 (00:25 +0000)]
- Remove Value::use_push_back & Value::use_remove
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4089
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 00:16:00 +0000 (00:16 +0000)]
- Rename MTy to FTy (no methods exist anymore)
- Fix bug: LevelRaise/2002-10-08-VarArgCallInfLoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4088
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 9 Oct 2002 00:09:59 +0000 (00:09 +0000)]
New testcase for infinite loop that the raise pass is getting into
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4087
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 23:46:55 +0000 (23:46 +0000)]
Fix NASTY N^2 behavior that was causing the gzip benchmark to take forever to
assemble. Now we scan the use-list from the back when removing users instead
of from the front.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4086
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 23:33:52 +0000 (23:33 +0000)]
Fix bug: Assembler/2002-10-08-LargeArrayPerformance.ll by using
std::vector::reserve when possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4085
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 22:35:04 +0000 (22:35 +0000)]
New testcase that the assembler is unacceptably slow on
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 22:19:25 +0000 (22:19 +0000)]
- Fix bug: LevelRaise/2002-10-08-VarArgCall.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4083
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:57:49 +0000 (21:57 +0000)]
New testcase for bug that messes up the CWriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4082
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:53:51 +0000 (21:53 +0000)]
- Fix bug: cee/2002-10-07-NoImmediateDominator.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4081
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:36:34 +0000 (21:36 +0000)]
Changes to support PHINode::removeIncoming changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4080
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:36:33 +0000 (21:36 +0000)]
Changes to support PHINode::removeIncoming changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4079
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:34:58 +0000 (21:34 +0000)]
- Change PHINode::removeIncomingValue to delete the phi node if the last
incoming value is removed!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4078
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:34:15 +0000 (21:34 +0000)]
- Checkin LARGE number of Changes to CEE pass that will make it much more
powerful, but that are largely disabled. The basic idea here is that it
is trying to forward branches across basic blocks that have PHI nodes in
it, which are crucial to be able to handle cases like whet.ll.
Unfortunately we are not updating SSA correctly, causing sim.c to die, and I
don't have time to fix the regression now, so I must disable the
functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4077
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:31:56 +0000 (21:31 +0000)]
By default PHINode::removeIncomingValue will delete the phi node if the last
incoming value is deleted!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4076
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 21:06:27 +0000 (21:06 +0000)]
Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4075
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 19:12:08 +0000 (19:12 +0000)]
Expose new "recalculate" method from dominatorset
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 19:11:21 +0000 (19:11 +0000)]
Cleanup testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4073
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 19:11:02 +0000 (19:11 +0000)]
Make test more interesting by adding dummy phi node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4072
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 17:07:39 +0000 (17:07 +0000)]
It is illegal for PHI nodes to have zero values, delete the code to handle them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4071
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 16:16:40 +0000 (16:16 +0000)]
Fold ashr -1, X into -1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4070
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 16:10:35 +0000 (16:10 +0000)]
Add new testcase for arithmetic shr of -1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 8 Oct 2002 16:09:47 +0000 (16:09 +0000)]
This test was mistakenly matching 'predecessors' that the new asmwriter
spits out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4068
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Hildenbrandt [Mon, 7 Oct 2002 22:54:48 +0000 (22:54 +0000)]
LLVM syntax highlighting for VIM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4067
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Oct 2002 22:37:03 +0000 (22:37 +0000)]
Don't rotate paper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4066
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Oct 2002 20:32:38 +0000 (20:32 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4065
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Oct 2002 20:25:45 +0000 (20:25 +0000)]
Fix testcase to run correctly, add description
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4064
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Oct 2002 20:05:27 +0000 (20:05 +0000)]
Finally I'm able to distill a testcase for a problem I'm seeing!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4063
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Oct 2002 18:38:01 +0000 (18:38 +0000)]
- Implement a new -print-cfg option for analyze, that causes it to print the
CFG of each function in the module to 'dot' files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4062
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 7 Oct 2002 18:37:10 +0000 (18:37 +0000)]
- Allow printing generic LLVM graphs to 'dot' files, so they can be
visualized easily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4061
91177308-0d34-0410-b5e6-
96231b3b80d8