1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Commit Graph

17679 Commits

Author SHA1 Message Date
Chris Lattner
496d623600 Fix a crash handling 'undef bool', fixing an llc crash on 186.crafty
llvm-svn: 20523
2005-03-08 22:53:09 +00:00
Reid Spencer
b0ca4aa8cd Patch to make assembly output compatible with mingw compilation (identical
to cygwin)

llvm-svn: 20520
2005-03-08 17:02:05 +00:00
Chris Lattner
667186f10f 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.

llvm-svn: 20519
2005-03-08 16:19:59 +00:00
Chris Lattner
3883289586 new testcase that crashes the CBE.
llvm-svn: 20518
2005-03-08 16:19:02 +00:00
Jeff Cohen
ffe6edba34 Clarify inability to generate assembly, and note that VC++ Express works.
llvm-svn: 20516
2005-03-08 03:56:50 +00:00
Misha Brukman
e29de97ab7 Single characters should be printed out as chars, not strings.
llvm-svn: 20515
2005-03-08 00:26:08 +00:00
Chris Lattner
9d2e3380d6 Various cleanups and clarifications, thanks to Gabor Greif for contributing this patch!
llvm-svn: 20514
2005-03-07 22:13:59 +00:00
Chris Lattner
1b4201e69f Fix problems compiling with G++ 4.x.x with -pedantic. Thanks to
Vladimir Merzliakov for the patch!

llvm-svn: 20513
2005-03-07 20:35:45 +00:00
Chris Lattner
084980cdcd fix another typo
llvm-svn: 20512
2005-03-07 20:31:38 +00:00
Chris Lattner
5f2c1454d4 fix typeo that Gabor Greif noticed!
llvm-svn: 20511
2005-03-07 20:30:51 +00:00
Chris Lattner
72c87c7c54 move the reassociation pass after the LICM pass. This speeds up mgrid
from 10.27s to 9.57s with the CBE.

llvm-svn: 20508
2005-03-07 03:19:50 +00:00
Chris Lattner
9cc39e2f8b Fix an apparent ambiguity compiling on PPC
llvm-svn: 20507
2005-03-07 02:59:36 +00:00
Chris Lattner
6d6f980ca7 fix a bug where we thought arguments were constants :(
llvm-svn: 20506
2005-03-06 22:52:29 +00:00
Chris Lattner
2174b70c68 Fix Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll,
hopefully not breaking too many other things.

llvm-svn: 20505
2005-03-06 22:36:12 +00:00
Chris Lattner
9471eb53aa cleanup the test
llvm-svn: 20504
2005-03-06 22:24:45 +00:00
Chris Lattner
ad1fa9275b check that we only insert one phi node per loop
llvm-svn: 20503
2005-03-06 22:23:31 +00:00
Chris Lattner
0f34140f90 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.

llvm-svn: 20502
2005-03-06 22:15:24 +00:00
Chris Lattner
a29e319d54 implement Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
llvm-svn: 20501
2005-03-06 22:06:22 +00:00
Chris Lattner
983422f2c8 testcase for A[invariant][indvar] where invariant is an instruction.
llvm-svn: 20500
2005-03-06 22:06:09 +00:00
Chris Lattner
482fc889e1 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]

llvm-svn: 20499
2005-03-06 22:04:27 +00:00
Chris Lattner
85a611063e Add test for this:
Allow operands after the induction variable (no restrictions):

  int x;
  for (i)
   j = .....
   a[i][x][j]

llvm-svn: 20498
2005-03-06 22:01:42 +00:00
Chris Lattner
18fdd1e9f6 minor simplifications of the code.
llvm-svn: 20497
2005-03-06 21:58:22 +00:00
Chris Lattner
84be025747 a regtest
llvm-svn: 20496
2005-03-06 21:47:40 +00:00
Chris Lattner
de7a8d1e1c new directory
llvm-svn: 20495
2005-03-06 21:42:59 +00:00
Chris Lattner
53c34a2147 trivial simplification
llvm-svn: 20494
2005-03-06 21:35:38 +00:00
Chris Lattner
b4e635cfc4 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

llvm-svn: 20493
2005-03-06 20:57:32 +00:00
Chris Lattner
7ca2ddfbb8 New testcase for PR532
llvm-svn: 20492
2005-03-06 20:56:55 +00:00
Chris Lattner
ef140e77e6 new helper method
llvm-svn: 20491
2005-03-06 20:55:34 +00:00
Chris Lattner
cfd1a43bb0 new testcase reduced from the MultiSource/Applications/d failure last night.
llvm-svn: 20490
2005-03-06 19:40:19 +00:00
Chris Lattner
3183eeac8f 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)

llvm-svn: 20488
2005-03-06 06:03:44 +00:00
Chris Lattner
eddc6b4dc2 this method is never called.
llvm-svn: 20487
2005-03-06 06:00:24 +00:00
Chris Lattner
5d6a3ae953 cleanup some html
remove a statement that is no longer true
remove comment about a dead method.

llvm-svn: 20486
2005-03-06 06:00:13 +00:00
Chris Lattner
0371aef9a2 the only caller of insertEntry is insert, inline it and remove insertEntry
llvm-svn: 20485
2005-03-06 05:56:02 +00:00
Chris Lattner
46653269f4 rename insertEntry to insert
llvm-svn: 20484
2005-03-06 05:55:40 +00:00
Chris Lattner
b1ac7bc7f3 Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
llvm-svn: 20483
2005-03-06 05:51:09 +00:00
Chris Lattner
e0a963283c remove this method.
llvm-svn: 20482
2005-03-06 05:50:49 +00:00
Chris Lattner
57a7a2d1cf 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.

llvm-svn: 20481
2005-03-06 05:46:41 +00:00
Chris Lattner
6871e22bce Delete the really inefficient method: void remove(const Type* Typ);
Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.

llvm-svn: 20480
2005-03-06 05:46:00 +00:00
Chris Lattner
0ed850a944 Make this MUCH faster by avoiding a linear search in the symbol table code.
llvm-svn: 20479
2005-03-06 05:42:36 +00:00
Chris Lattner
b186974c85 InternallyInconsistent is dead!
llvm-svn: 20478
2005-03-06 05:22:05 +00:00
Chris Lattner
f1d5e180ce Remove some really gross and hard to understand code now that
InternallyInconsistent is always false.

llvm-svn: 20477
2005-03-06 05:21:40 +00:00
Chris Lattner
4af779dcba Simplify some code.
llvm-svn: 20476
2005-03-06 05:13:42 +00:00
Chris Lattner
5549ad2f5d remove these dead methods.
llvm-svn: 20475
2005-03-06 02:38:24 +00:00
Chris Lattner
eb5987ee06 remove these methods.
llvm-svn: 20474
2005-03-06 02:37:47 +00:00
Chris Lattner
c0ab542377 These methods are removed.
llvm-svn: 20473
2005-03-06 02:37:21 +00:00
Chris Lattner
1343991e93 simplify and speed up some code
llvm-svn: 20472
2005-03-06 02:32:00 +00:00
Chris Lattner
a518cf568a simplify some code.
llvm-svn: 20471
2005-03-06 02:28:23 +00:00
Chris Lattner
8921259a3b nuke some dead methods.
llvm-svn: 20470
2005-03-06 02:25:02 +00:00
Chris Lattner
ffa96dc848 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. :)

llvm-svn: 20469
2005-03-06 02:14:28 +00:00
Chris Lattner
60929fdff1 Add a new method, allow symtab to poke name.
llvm-svn: 20468
2005-03-06 02:10:40 +00:00