Vikram S. Adve [Sun, 4 Aug 2002 20:52:39 +0000 (20:52 +0000)]
Bug fix in TargetData::getIndexedOffset(): handle struct offset
after array offset correctly. The type was not being updated for
array offsets!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3246
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:51:05 +0000 (20:51 +0000)]
Bug fix in SetOperandsForMemInstr: handle leading zeros correctly
when folding or not folding GEPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3245
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:49:49 +0000 (20:49 +0000)]
Add function GetConstantValueAsUnsignedInt.
Fix 2 bugs in FoldGetElemChain so index vector is not modified
when no GEPs are folded in, and so a hasLeadingZero is computed
only for the last folded GEP, not the one after that if any.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3244
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:57:38 +0000 (20:57 +0000)]
Fix compilation problem. IsIndexZero doesn't exist, use IsZero instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:30:26 +0000 (20:30 +0000)]
Testcase for stuff instcombine should do eventually
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3240
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:24:58 +0000 (20:24 +0000)]
Add some more features that we could instcombine away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3239
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:24:45 +0000 (20:24 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:19:30 +0000 (20:19 +0000)]
Comment options that may be enabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3237
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:48:21 +0000 (13:48 +0000)]
Simplified handling of array indexes in SetMemOperands_Internal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3236
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:22:36 +0000 (13:22 +0000)]
Add MemAccessInst::getNumIndices().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3234
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:21:15 +0000 (13:21 +0000)]
Eliminate cast instructions: use only GEPs in decomposed sequence.
Don't decompose if there are 2 indices with 0 as first index.
Compute Changed flag correctly in runOnBasicBlock().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3233
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:17:03 +0000 (13:17 +0000)]
Run both *.ll and *.c tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3232
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:16:47 +0000 (13:16 +0000)]
Added expected decomposed sequence in comments, plus a couple of new cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 23:08:32 +0000 (23:08 +0000)]
Fix problem where lli would not print out a 64 bit value when the client code
uses the modifier "%ld". Now lli passes off "%lld" to the underlying runtime
library in this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3230
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 22:06:04 +0000 (22:06 +0000)]
Fix one real nasty bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 21:51:29 +0000 (21:51 +0000)]
Fix lli with no arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 20:00:25 +0000 (20:00 +0000)]
Fix bug: test/Regression/Transforms/InstCombine/2002-08-02-CastTest.ll
Implement feature: Cast's can now be converted to bitwise AND expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3225
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:59:20 +0000 (19:59 +0000)]
Fix yet another bug in the testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:54:05 +0000 (19:54 +0000)]
Fix bug in testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:29:35 +0000 (19:29 +0000)]
* Cleanups of instcombine
- Reenable gep (gep x) -> x
- Make instcombine do dead instruction elimination where it's really
easy. Now visitors don't have to ensure they aren't not processing
dead instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:27:58 +0000 (19:27 +0000)]
These tests should not run -dce pass to cleanup instcombine.
If instcombine is making dead instructions, ALL that should be used is -die
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:48:09 +0000 (18:48 +0000)]
Add another testcase that isn't failing because of another bug in instcombine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3220
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:47:11 +0000 (18:47 +0000)]
Change test to really test the cases we can hit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:46:53 +0000 (18:46 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3218
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 2 Aug 2002 18:34:12 +0000 (18:34 +0000)]
Don't build Debug/ versions when ENABLE_OPTIMIZED is on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:06:01 +0000 (18:06 +0000)]
Fix bug: test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 17:37:08 +0000 (17:37 +0000)]
Implement dominator checking in the verifier, so that we check that all
defintiions dominate their uses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:51:27 +0000 (16:51 +0000)]
Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:44:09 +0000 (16:44 +0000)]
Add a note about where to put miscompilation tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3212
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:43:03 +0000 (16:43 +0000)]
Split dominance calculation and post dominance calculation stuff
Dominance calculation goes to VMCore library to be used by Verifier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3210
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:41:21 +0000 (16:41 +0000)]
New testcase for dominator problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3209
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:39:18 +0000 (16:39 +0000)]
The verify pass is implicit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:26:08 +0000 (16:26 +0000)]
New test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:10:24 +0000 (16:10 +0000)]
Tweak makefile after moving
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 22:26:32 +0000 (22:26 +0000)]
Verify is implicit for opt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 20:50:54 +0000 (20:50 +0000)]
Fix makefile to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 20:50:03 +0000 (20:50 +0000)]
Fix broken testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 20:48:21 +0000 (20:48 +0000)]
Make testcase legal LLVM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 20:01:02 +0000 (20:01 +0000)]
Remove unneccesary #inlcude
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 19:33:09 +0000 (19:33 +0000)]
Enhance -time-passes to be more detailed and useful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3199
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 1 Aug 2002 14:26:11 +0000 (14:26 +0000)]
Bug fix: incorrect SAVE instruction when using register for stack size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3198
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 1 Aug 2002 14:21:05 +0000 (14:21 +0000)]
Feature test for stack size bigger than immed. field of SAVE instruction.
Also tests code generation for code with mixed indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3197
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Aug 2002 00:01:33 +0000 (00:01 +0000)]
Reorder tool building sequence to more closely match the reality of what
is being worked on the most.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3196
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 23:56:44 +0000 (23:56 +0000)]
Fix bug: test/Regression/Assembler/2002-07-31-SlashInString.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3195
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 23:54:29 +0000 (23:54 +0000)]
NEw testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3194
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 22:31:34 +0000 (22:31 +0000)]
Implement the other half of a feature advertised by OperandConvertableToType.
This fixes bug: test/Regression/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3193
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 21:32:05 +0000 (21:32 +0000)]
Cleanup Makefile a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3192
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 31 Jul 2002 21:13:31 +0000 (21:13 +0000)]
Just improved comments and assertions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3191
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 21:10:11 +0000 (21:10 +0000)]
Trim down testcase a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 21:06:29 +0000 (21:06 +0000)]
New testcase for level-raise crash inspired by SPEC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3189
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 31 Jul 2002 21:01:34 +0000 (21:01 +0000)]
Add a missing case: converting float/double to unsigned integer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 19:32:14 +0000 (19:32 +0000)]
Changes to be GCC3.1 friendly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 19:32:12 +0000 (19:32 +0000)]
Changes to be GCC3.1 friendly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 19:32:01 +0000 (19:32 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3185
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 19:31:59 +0000 (19:31 +0000)]
Changes to be GCC 3.1 friendly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3184
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 18:04:17 +0000 (18:04 +0000)]
We need iostream in PassManagerT.h to use cerr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3183
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 17:54:24 +0000 (17:54 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3182
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 17:52:36 +0000 (17:52 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3181
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 17:39:38 +0000 (17:39 +0000)]
Testcase that was triggering an incorrect assertion failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3180
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 17:39:16 +0000 (17:39 +0000)]
Verify pass has been run for a long time now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3179
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 17:15:40 +0000 (17:15 +0000)]
Add new -only-print-main-ds option that causes mains ds graph to be
printed, but no others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3178
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 16:52:49 +0000 (16:52 +0000)]
Change command line option message on -q to make it more accurate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3177
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 16:29:43 +0000 (16:29 +0000)]
Fix bug that was causing problems for lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3176
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Jul 2002 01:45:02 +0000 (01:45 +0000)]
Remove obsolete, confusing, method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3175
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 22:24:07 +0000 (22:24 +0000)]
This testcase is independant of varargsness
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3174
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 30 Jul 2002 22:08:08 +0000 (22:08 +0000)]
Add GlobalDSGraph -- a common graph that holds externally visible nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3173
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 30 Jul 2002 22:07:26 +0000 (22:07 +0000)]
Print globals graph after either the BU or the TD pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3172
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 30 Jul 2002 22:06:40 +0000 (22:06 +0000)]
This file implements the top-down propagation pass for data structure graphs.
Also, we now use a separate globals graph to hold externally visible nodes.
This changes both the bottom-up and top-down propagation so that
globals and other external objects do not have to appear in every
function, but only in functions in which they are referenced or
they can be used to access something else that is referenced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3171
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 30 Jul 2002 22:05:22 +0000 (22:05 +0000)]
Use a separate globals graph to hold externally visible nodes.
This changes both the bottom-up and top-down propagation so that
globals and other external objects do not have to appear in every
function, but only in functions in which they are referenced or
they can be used to access something else that is referenced.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3170
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 30 Jul 2002 22:02:04 +0000 (22:02 +0000)]
Add GlobalDSGraph -- a common graph that holds externally visible nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3169
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 21:43:25 +0000 (21:43 +0000)]
Print the tool name when an error comes from so that I can tell which
tool of a pipeline is having issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3168
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 21:43:22 +0000 (21:43 +0000)]
Print the tool name when an error comes from so that I can tell which
tool of a pipeline is having issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3167
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 19:52:14 +0000 (19:52 +0000)]
Print the tool name when an error comes from so that I can tell which
tool of a pipeline is having issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3166
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 19:51:02 +0000 (19:51 +0000)]
Implement new -debug-pass=Arguments option that causes PassManager to
print out the command line options for the optimizations it is running.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3165
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 19:49:39 +0000 (19:49 +0000)]
Add hooks to get information out of concrete pass manager implementations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3164
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 19:48:44 +0000 (19:48 +0000)]
* Indent class into anonymous namespace, filling up the diff with garbage
* Internalize global variables with initializers
* Add new stat to track global variable internalization
* Only count functions that were not internal before in internalized function
count
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3163
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 19:33:19 +0000 (19:33 +0000)]
Remove extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3162
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 18:54:25 +0000 (18:54 +0000)]
Cleanup ConstantExpr handling:
* Correctly delete TypeHandles in AsmParser. In addition to not leaking
memory, this prevents a bug that could have occurred when a type got
resolved that the constexpr was using
* Check for errors in the AsmParser instead of hitting assertion failures
deep in the code
* Simplify the interface to the ConstantExpr class, removing unneccesary
parameters to the ::get* methods.
* Rename the 'getelementptr' version of ConstantExpr::get to
ConstantExpr::getGetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 18:54:22 +0000 (18:54 +0000)]
Cleanup ConstantExpr handling:
* Correctly delete TypeHandles in AsmParser. In addition to not leaking
memory, this prevents a bug that could have occurred when a type got
resolved that the constexpr was using
* Check for errors in the AsmParser instead of hitting assertion failures
deep in the code
* Simplify the interface to the ConstantExpr class, removing unneccesary
parameters to the ::get* methods.
* Rename the 'getelementptr' version of ConstantExpr::get to
ConstantExpr::getGetElementPtr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3160
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 18:01:06 +0000 (18:01 +0000)]
Remove invokation of cleangcc pass which has been renamed, and is unneccesary anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3159
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:38:54 +0000 (16:38 +0000)]
Remove FIXME's that aren't really needed after all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3158
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:27:52 +0000 (16:27 +0000)]
Declare that these passes only depend on the CFG of the function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3157
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:27:32 +0000 (16:27 +0000)]
* Implement stuff so that code can declare that they only depend on the CFG of
a function, not on anything else. This speeds up GCCAS a lot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3156
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:27:02 +0000 (16:27 +0000)]
* Move some code from Pass.cpp to PassManagerT.h
* Implement stuff so that code can declare that they only depend on the CFG of
a function, not on anything else. This speeds up GCCAS a lot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3155
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:24:28 +0000 (16:24 +0000)]
Implement constant propogation of logical (and, or, xor) expressions.
Fixes testcase: test/Regression/Transforms/ConstProp/logicaltest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:24:25 +0000 (16:24 +0000)]
Implement constant propogation of logical (and, or, xor) expressions.
Fixes testcase: test/Regression/Transforms/ConstProp/logicaltest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3153
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 16:18:38 +0000 (16:18 +0000)]
Test that logical operators are correctly constant propogated!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 06:47:29 +0000 (06:47 +0000)]
Add test of newly checked in Union support!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3151
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 06:07:16 +0000 (06:07 +0000)]
Simplify testcase a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3150
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 06:05:40 +0000 (06:05 +0000)]
New testcase found when working on union support *sigh*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3149
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 05:57:03 +0000 (05:57 +0000)]
New testcase distilled from trying to compile burg with LLVM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3148
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 03:57:36 +0000 (03:57 +0000)]
* Move InstructionSelection Pass here instead of living in Sparc.cpp. It
is platform independant afterall.
* Object orientize the functions, cleanup code a bit. Instead of static
global functions, the helpers for instruction selection are now part of
the InstructionSelection Pass class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3147
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 03:56:16 +0000 (03:56 +0000)]
* Move InstructionSelection pass to lib/CodeGen/InstrSelection so it is
shared by backends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 03:55:29 +0000 (03:55 +0000)]
Expose instruction selection as a pass instead of a global function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 03:55:01 +0000 (03:55 +0000)]
Add rough support for LLC passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 02:52:40 +0000 (02:52 +0000)]
Remove unused vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 02:42:49 +0000 (02:42 +0000)]
Fix bug with last patch which would occur when a call returned void and we
attempted to assign it a name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 00:53:26 +0000 (00:53 +0000)]
Pass renamed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 00:50:49 +0000 (00:50 +0000)]
* Make sure the resolved function call instructions get the name from the
old call instruction
* Implement conversion of return values for calls. This fixes bug:
test/Regression/Transforms/FunctionResolve/retmismatch3.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Jul 2002 00:49:42 +0000 (00:49 +0000)]
Oops, fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3139
91177308-0d34-0410-b5e6-
96231b3b80d8