Reid Spencer
a8ca090440
Support several new upgrades:
...
div -> fdiv/udiv/sdiv
rem -> frem/urem/srem
except -> unwind
uninitialized -> external
as well as tracking the element type of pointers, packed, and array.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32127 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 20:19:56 +00:00
Reid Spencer
72348df75e
Remove a redundant RUN: line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32126 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 17:49:38 +00:00
Reid Spencer
f02edd2307
Add llvm-upgrade documentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32125 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 16:36:48 +00:00
Reid Spencer
3248df2373
Document the llvm-upgrade tool.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32124 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 16:35:42 +00:00
Reid Spencer
fdba2cb551
Prevent a GEP from getting upgraded to avoid resulting test failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32123 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 16:25:20 +00:00
Reid Spencer
f459d39613
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32122 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 16:19:52 +00:00
Reid Spencer
1d64a6c8d8
Implement the GEP upgrade for non-constant unsigned indices
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32121 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 16:19:28 +00:00
Reid Spencer
f8483657b3
Keep lists of values so they can be examined.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32120 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 15:16:01 +00:00
Reid Spencer
7a33f8d7cd
Update this test to use llvm-update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32117 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 05:02:46 +00:00
Reid Spencer
f49c7a5f05
Build llvm-update now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32116 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:46:36 +00:00
Reid Spencer
69ccadd753
Use the llvm-upgrade program to upgrade llvm assembly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:23:10 +00:00
Reid Spencer
a50d5962ed
Add support for global types and type resolution. Fix several minor
...
formatting and spacing bugs. This is sufficient for llvm-upgrade to
correctly upgrade all of llvm/test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32114 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:11:07 +00:00
Jeff Cohen
97af751deb
Unbreak VC++ build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32113 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 02:22:01 +00:00
Chris Lattner
9919e3df17
disable transformations that are invalid for fp vectors. This fixes
...
Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 00:13:08 +00:00
Chris Lattner
832e1489cc
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32111 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 00:12:32 +00:00
Chris Lattner
ee740834ab
Switch analysis groups to be unregistered when llvm_shutdown is called.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32110 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 23:46:50 +00:00
Reid Spencer
280d801839
Handle upgrade of fp -> ptr cast with fp -> int -> ptr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32109 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 23:40:53 +00:00
Chris Lattner
baf2ecda5f
Start moving pass registration over to using the ManagedStatic mechanism.
...
This fixes issues where passes get unregistered before llvm_shutdown is
called, and is generally cleaner and simpler. Analysis groups up next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 23:27:45 +00:00
Evan Cheng
0555122412
Match TargetInstrInfo changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32107 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:57:41 +00:00
Reid Spencer
0b7e507247
Don't convert {} into []!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32106 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:42:01 +00:00
Chris Lattner
cb90249ecb
pass cfgonly up the ctor instead of calling an explicit method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32105 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:36:43 +00:00
Reid Spencer
fcb5df8f2c
Allow the new cast instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32104 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:34:43 +00:00
Reid Spencer
f7bde225f3
Upgrade shr to ashr and lshr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32103 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:26:37 +00:00
Chris Lattner
947c7689fc
move 'cfgonly' pass tracking into PassInfo, instead of handling it with
...
yet-another global data structure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32102 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:21:11 +00:00
Chris Lattner
5365489f6c
remove 'target constructor' support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32100 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:00:50 +00:00
Chris Lattner
cd950a5308
target constructors are never used
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32099 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:59:37 +00:00
Evan Cheng
ba59a1e453
Match TargetInstrInfo changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32098 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:52:58 +00:00
Evan Cheng
258ff6726d
convertToThreeAddress() is now responsible for updating live info as well as inserting the new MI's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32097 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:52:41 +00:00
Reid Spencer
f2d5532c66
Don't treat numeric (untyped) constants as a ConstInfo, just pass the
...
string and let ConstVal add the type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32096 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:52:30 +00:00
Evan Cheng
bd7b67fd37
Typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32095 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:50:17 +00:00
Evan Cheng
6c14147d93
- Add getOperandConstraint() to TargetInstrDescriptor.
...
- convertToThreeAddress() change to allow single two-address MI to be converted
into one or more 3-address MIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32094 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:46:55 +00:00
Chris Lattner
5dd4391c66
fix incorrectly translated testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32093 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:38:02 +00:00
Reid Spencer
16244f4026
First version of llvm-upgrade that can correctly upgrade all of
...
test/Feature
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32092 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 21:10:07 +00:00
Evan Cheng
8752ce61e1
Add weak reference directive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32091 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 20:47:11 +00:00
Reid Spencer
d154b57ab4
valgrind clean version of llvm-upgrade
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32090 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 20:36:40 +00:00
Reid Spencer
e77e35e8b1
First version of llvm-upgrade that can correctly upgrade a large test
...
case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32089 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 20:26:20 +00:00
Chris Lattner
102e2d3c82
Remove dead methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32088 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 20:14:47 +00:00
Chris Lattner
9dec3a2c0c
These should be rewritten to fold without using the 'Rules' mechanism, but
...
until this happens at least make sext from bool and sitofp from bool do the
right thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32087 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:50:54 +00:00
Chris Lattner
63edf03fe5
test1 is miscompiled
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32086 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:50:04 +00:00
Jim Laskey
d52bbdceef
wrong spot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32084 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:39:32 +00:00
Jim Laskey
255b47bda3
Test for float varargs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32083 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:29:20 +00:00
Chris Lattner
5be662505e
this logic is broken for trunc to bool, replace the folding logic for trunc
...
completely, as it is trivial. We should probably do this for the rest of the
cast operations. This fixes ConstProp/2006-12-01-TruncBoolBug.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32081 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:22:41 +00:00
Chris Lattner
68329b2187
add a new ConstantIntegral::get method. Simplify the implementation of
...
ConstantInt::get
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32080 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:20:02 +00:00
Chris Lattner
f0d6dd6006
new 'cast' miscompilation, reduced from perlbmk by Evan
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32079 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 19:02:56 +00:00
Chris Lattner
d28442ee96
enable this now that codegen support is in place
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32076 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 18:04:08 +00:00
Evan Cheng
9382e29c1e
Copy and paste error. An initialized global cannot be a weak reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32075 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 17:39:22 +00:00
Jim Laskey
fbb74e6941
1. In ppc64 mode we need only use one GPR.
...
2. Float values need to be promoted to double when they are vararg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32074 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 16:30:47 +00:00
Jim Laskey
45e507ca9b
ExternalWeak case in wrong location.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32073 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 14:37:39 +00:00
Evan Cheng
2c0fbb1cb6
This test is meant for X86 CPU which does not support SSE2.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32072 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 10:17:36 +00:00
Evan Cheng
32644ac67c
Fix 2005-05-08-FPStackifierPHI.ll failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32071 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 10:11:51 +00:00