Commit Graph

17635 Commits

Author SHA1 Message Date
Chris Lattner 623bb75d35 new testcase for a -basicaa bug that Alkis found with Java.
llvm-svn: 20530
2005-03-09 16:29:22 +00:00
Reid Spencer f064bb2617 Fix a typo in an assertion comment.
Patch contributed by Vladimir Merzliakov.

llvm-svn: 20529
2005-03-09 15:19:41 +00:00
Chris Lattner 4dc39d447d Use static_cast and #include Instructions.h
llvm-svn: 20528
2005-03-09 05:35:16 +00:00
Chris Lattner adb043c2d8 Export two methods for getting -X and A-B.
llvm-svn: 20527
2005-03-09 05:34:41 +00:00
Chris Lattner bc6b18e6d3 export two methods
llvm-svn: 20526
2005-03-09 05:34:23 +00:00
Chris Lattner b9f0cebeb5 get bugpoint working on ia64, by building .so's with -fpic. :)
llvm-svn: 20525
2005-03-09 03:31:02 +00:00
Chris Lattner 1f1462fafa 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 00658b80fb 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 ea50620eec 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 7c303235b4 new testcase that crashes the CBE.
llvm-svn: 20518
2005-03-08 16:19:02 +00:00
Jeff Cohen e77909805b Clarify inability to generate assembly, and note that VC++ Express works.
llvm-svn: 20516
2005-03-08 03:56:50 +00:00
Misha Brukman 20238eb963 Single characters should be printed out as chars, not strings.
llvm-svn: 20515
2005-03-08 00:26:08 +00:00
Chris Lattner 455fc8c917 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 4604436b29 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 d3e641c2ab fix another typo
llvm-svn: 20512
2005-03-07 20:31:38 +00:00
Chris Lattner 2e6eb5f40d fix typeo that Gabor Greif noticed!
llvm-svn: 20511
2005-03-07 20:30:51 +00:00
Chris Lattner a9beaacac6 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 e9328b319c Fix an apparent ambiguity compiling on PPC
llvm-svn: 20507
2005-03-07 02:59:36 +00:00
Chris Lattner 8c79559443 fix a bug where we thought arguments were constants :(
llvm-svn: 20506
2005-03-06 22:52:29 +00:00
Chris Lattner 2ce303b406 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 5991cf77b2 cleanup the test
llvm-svn: 20504
2005-03-06 22:24:45 +00:00
Chris Lattner 1173c52d82 check that we only insert one phi node per loop
llvm-svn: 20503
2005-03-06 22:23:31 +00:00
Chris Lattner 392a0bba42 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 45403e5052 implement Transforms/LoopStrengthReduce/invariant_value_first_arg.ll
llvm-svn: 20501
2005-03-06 22:06:22 +00:00
Chris Lattner 656a6e37e1 testcase for A[invariant][indvar] where invariant is an instruction.
llvm-svn: 20500
2005-03-06 22:06:09 +00:00
Chris Lattner ab00dc30df 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 97b8cbff7c 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 d3874fad44 minor simplifications of the code.
llvm-svn: 20497
2005-03-06 21:58:22 +00:00
Chris Lattner 9cd727c2ee a regtest
llvm-svn: 20496
2005-03-06 21:47:40 +00:00
Chris Lattner 78f166c6ab new directory
llvm-svn: 20495
2005-03-06 21:42:59 +00:00
Chris Lattner dd3ec92085 trivial simplification
llvm-svn: 20494
2005-03-06 21:35:38 +00:00
Chris Lattner 238f6df546 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 1c69aab68b New testcase for PR532
llvm-svn: 20492
2005-03-06 20:56:55 +00:00
Chris Lattner 6aa5f97a05 new helper method
llvm-svn: 20491
2005-03-06 20:55:34 +00:00
Chris Lattner a93419c8df new testcase reduced from the MultiSource/Applications/d failure last night.
llvm-svn: 20490
2005-03-06 19:40:19 +00:00
Chris Lattner 5de9dec0d1 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 96b7bf6244 this method is never called.
llvm-svn: 20487
2005-03-06 06:00:24 +00:00
Chris Lattner 897cc8e1ec 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 19d1c03311 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 86fe3a1fdb rename insertEntry to insert
llvm-svn: 20484
2005-03-06 05:55:40 +00:00
Chris Lattner 533805e6da Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
llvm-svn: 20483
2005-03-06 05:51:09 +00:00
Chris Lattner 7dfb29d5cb remove this method.
llvm-svn: 20482
2005-03-06 05:50:49 +00:00
Chris Lattner 290d881f84 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 aa4138a5da 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 1b032f59e7 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 bcd8393d50 InternallyInconsistent is dead!
llvm-svn: 20478
2005-03-06 05:22:05 +00:00
Chris Lattner bad0e7e2d9 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 cd56f5a8e4 Simplify some code.
llvm-svn: 20476
2005-03-06 05:13:42 +00:00
Chris Lattner 6be3b418e7 remove these dead methods.
llvm-svn: 20475
2005-03-06 02:38:24 +00:00
Chris Lattner eb9a12cbce remove these methods.
llvm-svn: 20474
2005-03-06 02:37:47 +00:00