Chris Lattner
dbf69f1992
Make sure to remove all dead type names from the symbol table, not just
...
struct types. This fixes Regression/CodeGen/CBackend/2005-03-08-RecursiveTypeCrash.ll,
a crash on Java output that Alkis reported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20519 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-08 16:19:59 +00:00
Chris Lattner
13a04bcd07
new testcase that crashes the CBE.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20518 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-08 16:19:02 +00:00
Jeff Cohen
ca0a9091c4
Clarify inability to generate assembly, and note that VC++ Express works.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20516 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-08 03:56:50 +00:00
Misha Brukman
23ba0c5cf3
Single characters should be printed out as chars, not strings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20515 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-08 00:26:08 +00:00
Chris Lattner
d4f6b17642
Various cleanups and clarifications, thanks to Gabor Greif for contributing this patch!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20514 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-07 22:13:59 +00:00
Chris Lattner
82870e0b73
Fix problems compiling with G++ 4.x.x with -pedantic. Thanks to
...
Vladimir Merzliakov for the patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20513 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-07 20:35:45 +00:00
Chris Lattner
aeffb4af8b
fix another typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20512 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-07 20:31:38 +00:00
Chris Lattner
b40bb38eb4
fix typeo that Gabor Greif noticed!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20511 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-07 20:30:51 +00:00
Chris Lattner
35641ecc37
move the reassociation pass after the LICM pass. This speeds up mgrid
...
from 10.27s to 9.57s with the CBE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20508 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-07 03:19:50 +00:00
Chris Lattner
001d16aa9c
Fix an apparent ambiguity compiling on PPC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20507 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-07 02:59:36 +00:00
Chris Lattner
2f62fdc9a7
fix a bug where we thought arguments were constants :(
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20506 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:52:29 +00:00
Chris Lattner
3f93197098
Fix Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll,
...
hopefully not breaking too many other things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20505 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:36:12 +00:00
Chris Lattner
2d9005d61f
cleanup the test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20504 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:24:45 +00:00
Chris Lattner
57f74708d7
check that we only insert one phi node per loop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20503 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:23:31 +00:00
Chris Lattner
7abfec8734
Add testcase for this:
...
(3) Do not reduce element sizes of small power of two:
char s[10];
for (i)
...s[i] ...
when the indvar is not eliminable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20502 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:15:24 +00:00
Chris Lattner
2f9b19b4c9
implement Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20501 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:06:22 +00:00
Chris Lattner
a0bfe0f9d3
testcase for A[invariant][indvar] where invariant is an instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20500 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:06:09 +00:00
Chris Lattner
7fe11f8711
add test for this:
...
(1) Allow loop invariant expressions to come before the induction variable (instead of just
constants):
int x;
for (i)
...a[x][i]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20499 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:04:27 +00:00
Chris Lattner
3a334cb868
Add test for this:
...
Allow operands after the induction variable (no restrictions):
int x;
for (i)
j = .....
a[i][x][j]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20498 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 22:01:42 +00:00
Chris Lattner
2461dff070
minor simplifications of the code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20497 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 21:58:22 +00:00
Chris Lattner
bc99f12dd2
a regtest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20496 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 21:47:40 +00:00
Chris Lattner
c1ca766e01
new directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20495 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 21:42:59 +00:00
Chris Lattner
fee3411379
trivial simplification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20494 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 21:35:38 +00:00
Chris Lattner
decc86db0c
Fix a bug where we could corrupt a parent loop's header info if we unrolled
...
a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll
and PR532
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20493 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 20:57:32 +00:00
Chris Lattner
801d9082e0
New testcase for PR532
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20492 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 20:56:55 +00:00
Chris Lattner
51a4ad475b
new helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20491 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 20:55:34 +00:00
Chris Lattner
be876b6036
new testcase reduced from the MultiSource/Applications/d failure last night.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20490 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 19:40:19 +00:00
Chris Lattner
bf4515e218
move some method declarations around to make it clear that users should
...
not call insert(Value *Val), remove(Value* Val), or
changeName(Value *V, const std::string &Name)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20488 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 06:03:44 +00:00
Chris Lattner
c0d369d879
this method is never called.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20487 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 06:00:24 +00:00
Chris Lattner
55c0461d26
cleanup some html
...
remove a statement that is no longer true
remove comment about a dead method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20486 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 06:00:13 +00:00
Chris Lattner
73091bcebe
the only caller of insertEntry is insert, inline it and remove insertEntry
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20485 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:56:02 +00:00
Chris Lattner
f1b4d1dee6
rename insertEntry to insert
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20484 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:55:40 +00:00
Chris Lattner
e4c872a8fa
Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20483 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:51:09 +00:00
Chris Lattner
58b004c2a3
remove this method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20482 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:50:49 +00:00
Chris Lattner
c27aa8ddb2
Delete the really inefficient method: void remove(const Type* Typ);
...
Speed up the symbol stripping code by avoiding a linear search of the
type table.
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20481 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:46:41 +00:00
Chris Lattner
1327c5ab99
Delete the really inefficient method: void remove(const Type* Typ);
...
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20480 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:46:00 +00:00
Chris Lattner
82aa566795
Make this MUCH faster by avoiding a linear search in the symbol table code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20479 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:42:36 +00:00
Chris Lattner
c9a33cefb8
InternallyInconsistent is dead!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20478 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:22:05 +00:00
Chris Lattner
a98cbe57ea
Remove some really gross and hard to understand code now that
...
InternallyInconsistent is always false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20477 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:21:40 +00:00
Chris Lattner
ee4da939b0
Simplify some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20476 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:13:42 +00:00
Chris Lattner
84ceb33f92
remove these dead methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20475 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:38:24 +00:00
Chris Lattner
921c565888
remove these methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20474 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:37:47 +00:00
Chris Lattner
7fd5dee54a
These methods are removed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20473 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:37:21 +00:00
Chris Lattner
af4a9bb2ba
simplify and speed up some code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20472 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:32:00 +00:00
Chris Lattner
b15fde2b78
simplify some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20471 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:28:23 +00:00
Chris Lattner
ea8186ad62
nuke some dead methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20470 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:25:02 +00:00
Chris Lattner
04cb800c32
This fixes PR531, a crash when running the CBE on a bytecode file.
...
The problem is that Function::renameLocalSymbols is iterating through
the symbol table planes, occasionally calling setName to rename a value
(which used to do a symbol table remove/insert pair).
The problem is that if there is only a single value in a particular type
plane that the remove will nuke the symbol table plane, and the insert
will create and insert a new one. This hoses Function::renameLocalSymbols
because it has an iterator to the old plane, under the (very reasonable)
assumption that simply renaming a value won't cause the type plane to
disappear.
This patch fixes the bug by making the rename operation a single atomic
operation, which has a side effect of making the whole thing faster too. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20469 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:14:28 +00:00
Chris Lattner
eaadf58276
Add a new method, allow symtab to poke name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20468 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:10:40 +00:00
Jeff Cohen
e43dd1b8e7
Reformat comments to fix 80 columns.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20467 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-05 22:45:40 +00:00
Jeff Cohen
b21bf9a8d5
Reuse induction variables created for strength-reduced GEPs by other similar GEPs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20466 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-05 22:40:34 +00:00