Commit Graph

5811 Commits

Author SHA1 Message Date
Chris Lattner
1fd95afab3 Fix several bugs:
* Warnings were emitted all of the time and were really annoying
  * Functions could not be resolved unless they had external linkage.  Linkonce
    linkage was not allowed
  * ConstantPointerRef's were not handled when linking functions
    we now actually handle cast (CPR) to X -> cast (NewCPR) to X


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5967 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-28 01:23:29 +00:00
Chris Lattner
b53a198613 Avoid naming things exactly the same
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5966 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-27 22:55:56 +00:00
Chris Lattner
ac0ec635e6 New testcase distilled from a problem identified by sumant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5964 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:29:09 +00:00
Chris Lattner
10daaa1416 Remove two fields from TargetData which are target specific.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:11:09 +00:00
Chris Lattner
37ec811409 The promotion rules are the same for all targets, they are set by the C standard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5962 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 19:47:36 +00:00
Chris Lattner
7a5adc3ac0 IntegerRegSize is always 8 for sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5961 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 19:44:35 +00:00
Chris Lattner
38f8c4520f Switch insns actually DO work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5960 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 19:36:06 +00:00
Chris Lattner
99224aec78 Fix bug: LoopPreheaders/2003-04-25-AssertFail.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5959 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 19:34:18 +00:00
Chris Lattner
aa709d065a Add comment to testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5958 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 19:33:51 +00:00
Chris Lattner
91b5bbd47c Whoever checked this testcase in apparently never tested it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5957 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 17:44:17 +00:00
Chris Lattner
6ad5a31324 Revert last checkin. Note that PHI nodes can use basic blocks also!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5956 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 17:38:26 +00:00
Chris Lattner
90117cbb6f Remove long-dead obsolete cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5955 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 23:39:08 +00:00
Chris Lattner
d96f1eb5e0 New testcase that crashes preheaders
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5954 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 23:26:52 +00:00
Chris Lattner
02a78cf7ea Fix a bug that occurred when removing the last predecessor INTO an
infinite loop


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5953 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 23:14:19 +00:00
Chris Lattner
619f825640 Fix bug: ADCE/2003-04-25-PHIPostDominateProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5952 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 22:53:27 +00:00
Chris Lattner
152eee1249 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5951 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 22:53:12 +00:00
Chris Lattner
6db70ef879 Add options to disable simplification with passes, in case one of them crashes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5950 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 22:08:12 +00:00
Chris Lattner
8bdd129c8a Fix bogus assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5949 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 21:58:54 +00:00
Chris Lattner
b8fdd8ba61 Fix bug: Assembler/2003-04-25-UnresolvedGlobalReference.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5948 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 21:47:33 +00:00
Chris Lattner
b1f92f8f3a New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5947 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 20:09:17 +00:00
Chris Lattner
8f81c10871 Fix bugs in testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5946 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 19:49:36 +00:00
Chris Lattner
32a521ec56 Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5945 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:44:30 +00:00
Chris Lattner
7471c486c0 Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit host
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5942 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:28:44 +00:00
Chris Lattner
c8cff9e643 Add __strdup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5941 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:23:38 +00:00
Chris Lattner
807b7055b2 Fix BasicAA/2003-04-25-GEPCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5940 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:03:06 +00:00
Chris Lattner
c938ba0c0d New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5939 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 17:59:02 +00:00
Chris Lattner
6b73fec0ce MAke sure that LLI properly configures align_of(double)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5938 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:15:05 +00:00
Chris Lattner
dd7253cc9f Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5937 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:06:43 +00:00
Chris Lattner
bc19466912 Make sure to copy double alignment as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5936 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:06:13 +00:00
Chris Lattner
98938f83d5 Fix compatibility bug: X86 aligns doubles to 4 bytes, not 8!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5935 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:05:57 +00:00
Chris Lattner
b5881f126d Kill using declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5934 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:26:11 +00:00
Chris Lattner
322bc2b5aa Fix method name type-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5933 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:23:27 +00:00
Chris Lattner
4deaf3b5c0 Fix obvious type-o
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5932 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:23:10 +00:00
Chris Lattner
2b5f2c1a64 Make sure to add a targetdata instance to the passmanager, and make it match the
one in use by the TargetMachine


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5931 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:22:29 +00:00
Chris Lattner
d5bc41a249 Fix problem where we would read 64 bits worth of pointer information, even on 32 bit targets!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5930 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 04:21:19 +00:00
Chris Lattner
bceb2b0061 Fix major problem with PHI node traversal: rechecking PHIs should go into
the visit function.  The worklist is for when their lattice value changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5927 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 03:35:10 +00:00
Chris Lattner
0c13998775 Rename Kept -> Suffix
FIX problem where we were incorrectly putting the prefix of the list into the "suffix" list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5926 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 03:16:33 +00:00
Chris Lattner
06943add8b Rename Kept -> Suffix
Fix problem where we accidentally returned KeepPrefix instead of KeepSuffix!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5925 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 03:16:05 +00:00
Chris Lattner
6cf4cb90a0 ** CORRECTLY, conservatively handle constant expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5924 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:52:06 +00:00
Chris Lattner
eca8e8f111 *** Huge: Make constantexprs be handled correctly, conservatively
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5923 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:51:46 +00:00
Chris Lattner
46326d9cdf Allow for easy detection of when a "default" TargetData is created by the
passmanager, which is never the right thing to do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5922 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:50:45 +00:00
Chris Lattner
d6cbe339af Default ctor doesn't provide name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:50:19 +00:00
Chris Lattner
9de28289f8 Minor non-functional changes:
* Spell propagate right
  * Improve performance of phi node handling
  * Delete using directive
  * Other minor changes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5920 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:50:03 +00:00
Chris Lattner
c8789cb40b Fix bug: mem2reg/2003-04-24-MultipleIdenticalSuccessors.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5919 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 00:54:58 +00:00
Chris Lattner
5f73e38548 Big programs have tons of global variable initializers, and most passes don't care
about them.  Try to delete them if it doesn't affect the passes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5918 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 00:53:05 +00:00
Chris Lattner
16608b4c85 When cleaning up the final bytecode file, make sure to run DTE as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5917 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 00:52:30 +00:00
Chris Lattner
68be6e7f6a New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5916 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 00:46:14 +00:00
Chris Lattner
286921e8d2 Speed up convergence significantly and also reduce the size of testcases by making large portions of a function's CFG dead at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5915 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 23:51:38 +00:00
Chris Lattner
f607b79bc7 The big fix is this change:
-    if (I->isExternal() && !Functions.count(I))
+    if (!I->isExternal() && !Functions.count(I))

We were not actually deleting any functions from the module!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5914 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:54:06 +00:00
Chris Lattner
44be257166 Remove dead functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5913 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 22:53:24 +00:00