Chris Lattner
baf6c54410
Add a comment and fix a memory leak. Thanks to Vikram for pointing this out.
...
llvm-svn: 32196
2006-12-04 21:22:45 +00:00
Reid Spencer
a6cfd60a8c
These pass on Linux now.
...
llvm-svn: 32195
2006-12-04 20:46:05 +00:00
Reid Spencer
2ffc3d25d0
Expose the sanity.
...
llvm-svn: 32193
2006-12-04 20:28:07 +00:00
Reid Spencer
49c5a86912
Unclutter this by using new cast creation functions.
...
llvm-svn: 32192
2006-12-04 20:18:26 +00:00
Reid Spencer
5c14088844
Implement new cast creation functions for both instructions and constant
...
expressions. These will get used to reduce clutter as we replace various
calls to createInferredCast and getCast.
llvm-svn: 32191
2006-12-04 20:17:56 +00:00
Reid Spencer
332109374a
Fix the intrinsic debug call to make this match current definition.
...
llvm-svn: 32190
2006-12-04 20:13:49 +00:00
Reid Spencer
d5d0529259
Make this test succeed on both Darwin and Linux
...
llvm-svn: 32189
2006-12-04 20:09:02 +00:00
Reid Spencer
9965ee72f5
Document the icmp and fcmp constant expressions.
...
llvm-svn: 32188
2006-12-04 19:23:19 +00:00
Reid Spencer
d82ba83a63
XFAIL until PR1033 is fixed.
...
llvm-svn: 32187
2006-12-04 18:39:14 +00:00
Reid Spencer
dba6aa436a
Reduce the size of the ExprMapKeyType class.
...
llvm-svn: 32186
2006-12-04 18:38:05 +00:00
Reid Spencer
a4d2d788ad
Test case for PR1033, x86-64 code gen fails on bitcast.
...
llvm-svn: 32185
2006-12-04 18:24:56 +00:00
Evan Cheng
0c2a74a487
Non-darwin gcc should default to static relocation to match gcc.
...
llvm-svn: 32184
2006-12-04 18:07:10 +00:00
Evan Cheng
a6b4c4b4f8
Fix test.
...
llvm-svn: 32183
2006-12-04 18:06:24 +00:00
Jim Laskey
c963b6ffae
Purpose of test is lost in upgrade.
...
llvm-svn: 32182
2006-12-04 17:54:29 +00:00
Jim Laskey
d0d464950e
Remove debug info.
...
llvm-svn: 32181
2006-12-04 17:06:15 +00:00
Reid Spencer
1ba24bb1e4
Fix inferred casts.
...
llvm-svn: 32180
2006-12-04 17:05:42 +00:00
Reid Spencer
561bb36756
Fix 80 cols violation
...
llvm-svn: 32179
2006-12-04 17:04:44 +00:00
Reid Spencer
c8809b5c08
Regenerate.
...
llvm-svn: 32178
2006-12-04 15:41:36 +00:00
Jim Laskey
3082ed5364
Fixed to use current debug info.
...
llvm-svn: 32177
2006-12-04 12:23:17 +00:00
Jim Laskey
486c0adacd
Moving to DebugInfo.
...
llvm-svn: 32176
2006-12-04 12:21:23 +00:00
Jim Laskey
0faad3925c
Duplicate of Regression/Debugger/funccall.ll.
...
llvm-svn: 32175
2006-12-04 10:50:32 +00:00
Reid Spencer
d2e0c34798
Regenerate.
...
llvm-svn: 32173
2006-12-04 05:24:24 +00:00
Reid Spencer
15df7d590c
For PR950: Implement read/write of ICmp and FCmp constant expressions
...
llvm-svn: 32172
2006-12-04 05:23:49 +00:00
Reid Spencer
f349069f1c
For PR950: For ICmp and FCmp constant expressions, put the predicate outiside the parentheses to match what llvm-upgrade generates.
...
llvm-svn: 32171
2006-12-04 05:20:06 +00:00
Reid Spencer
ee3c991a6e
For PR950: Fix constant expressions to properly support ICmp and FCmp type expressions.
...
llvm-svn: 32170
2006-12-04 05:19:50 +00:00
Reid Spencer
b471d8edcb
For PR950: Implement a stub for folding ICmp and FCmp instructions
...
llvm-svn: 32169
2006-12-04 05:19:34 +00:00
Reid Spencer
812a1bed3d
For PR950: Implement ICmp/FCmp predicate printing for constant expressions
...
llvm-svn: 32168
2006-12-04 05:19:18 +00:00
Reid Spencer
963e5b0867
For PR950: Provide an isCompare method for detection of ICmp and FCmp constant expressions. Change interfaces to allow for ICmp and FCmp predicate values.
...
llvm-svn: 32167
2006-12-04 05:19:02 +00:00
Reid Spencer
14fbdd5523
Update call to CastInst::getCastOpcode for its new signature.
...
llvm-svn: 32166
2006-12-04 02:48:01 +00:00
Reid Spencer
1a06389f06
Change inferred casts to explicit casts.
...
llvm-svn: 32165
2006-12-04 02:46:44 +00:00
Reid Spencer
c4dacf2455
Take a baby step towards getting rid of inferred casts. Provide methods on
...
CastInst and ConstantExpr that allow the signedness to be explicitly passed
in and reliance on signedness removed from getCastOpcode. These are
temporary measures useful during the conversion of inferred casts.
llvm-svn: 32164
2006-12-04 02:43:42 +00:00
Reid Spencer
3c3fed62bf
Remove line not meant to be committed.
...
llvm-svn: 32163
2006-12-03 21:17:12 +00:00
Reid Spencer
9a6fc825b4
Handle upgrade of llvm-gcc3 assembly files.
...
llvm-svn: 32161
2006-12-03 21:01:45 +00:00
Reid Spencer
3e6b1ce614
Support ICmp/FCmp constant expression reading and writing.
...
llvm-svn: 32160
2006-12-03 17:17:02 +00:00
Reid Spencer
c031269ee3
Update for signless GEP semantics.
...
llvm-svn: 32159
2006-12-03 16:53:48 +00:00
Reid Spencer
fb6ce95002
Use weak_import on linux, weak everywhere else. Makes test pass on Linux.
...
Checking for __APPLE_CC__ is useless as this just checks to see if the
compiler is llvm-gcc, which we know it is.
llvm-svn: 32158
2006-12-03 16:40:08 +00:00
Reid Spencer
8a303a7c59
Remove dead code.
...
llvm-svn: 32157
2006-12-03 16:21:33 +00:00
Reid Spencer
65f19a0eca
Regenerate.
...
llvm-svn: 32156
2006-12-03 16:20:14 +00:00
Reid Spencer
5ef0dbb5b4
Remove useless #include.
...
llvm-svn: 32155
2006-12-03 16:19:43 +00:00
Reid Spencer
0f1725e68c
These tests need llvm-upgrade. This fixes last night's nightly test fallout.
...
llvm-svn: 32154
2006-12-03 16:17:19 +00:00
Reid Spencer
723e07e9d8
Match the llvmAsmParser's handling of ICmp and FCmp instructions.
...
llvm-svn: 32153
2006-12-03 07:10:26 +00:00
Reid Spencer
1960ef32ac
Regenerate.
...
llvm-svn: 32152
2006-12-03 06:59:29 +00:00
Reid Spencer
cfc7f5dc82
Shorten the FCmp and ICmp mnemonics to 3 letters. Make the parser
...
disambiguate them.
llvm-svn: 32151
2006-12-03 06:58:07 +00:00
Reid Spencer
afafde7b11
Shorten the FCmp predicate mnemonics.
...
llvm-svn: 32150
2006-12-03 06:35:48 +00:00
Reid Spencer
22504bd638
Implement reading and writing of the ICmp and FCmp instructions.
...
llvm-svn: 32149
2006-12-03 06:28:54 +00:00
Reid Spencer
45e5239008
Allow the ICmp and FCmp instructions to be written by the AsmWriter
...
llvm-svn: 32148
2006-12-03 06:27:29 +00:00
Reid Spencer
10fbf0e02f
Implement creation of ICmp and FCmp constant expressions.
...
llvm-svn: 32147
2006-12-03 05:48:19 +00:00
Reid Spencer
e953edff7a
Remove backwards compatibility goop. This is now handled by llvm-upgrade.
...
llvm-svn: 32146
2006-12-03 05:47:10 +00:00
Reid Spencer
e2c32da075
Regenerate.
...
llvm-svn: 32145
2006-12-03 05:46:11 +00:00
Reid Spencer
812724efa4
Remove backwards compatibility goop. Now implemented in llvm-upgrade.
...
llvm-svn: 32144
2006-12-03 05:45:44 +00:00
Reid Spencer
6ad23bdf9d
Upgrade to version 7 bytecode format.
...
llvm-svn: 32143
2006-12-03 04:40:09 +00:00
Reid Spencer
6521b7a1c9
Regenerate.
...
llvm-svn: 32142
2006-12-03 03:16:48 +00:00
Reid Spencer
bc17466558
Add a needed #include.
...
llvm-svn: 32141
2006-12-03 03:15:23 +00:00
Reid Spencer
690d437920
Regenerate.
...
llvm-svn: 32140
2006-12-02 22:14:11 +00:00
Reid Spencer
9a8b3173cc
Implement upgrade of setcc instruction to icmp/fcmp, but don't enable it
...
yet.
llvm-svn: 32139
2006-12-02 22:09:27 +00:00
Reid Spencer
39bfeeeceb
Make sure this file gets upgraded with llvm-upgrade
...
llvm-svn: 32138
2006-12-02 20:42:32 +00:00
Reid Spencer
e812408695
Upgrade intrinsic function calls manually.
...
llvm-svn: 32137
2006-12-02 20:41:53 +00:00
Reid Spencer
6faf0cbf13
These files need llvm-upgrade.
...
llvm-svn: 32136
2006-12-02 20:40:30 +00:00
Reid Spencer
4ee2f08386
Rearrange code so that llvm-upgrade doesn't break the optimization this
...
test is trying to verify.
llvm-svn: 32135
2006-12-02 20:39:25 +00:00
Reid Spencer
19738b0b5a
Upgrade intrinsic function calls
...
llvm-svn: 32134
2006-12-02 20:38:37 +00:00
Reid Spencer
ed3471a8cc
Run llvm-upgrade on this test and/or upgrade intrinsic function calls.
...
llvm-svn: 32133
2006-12-02 20:38:10 +00:00
Reid Spencer
fc0618e2db
Remove tests for checking bytecode upgrade. Bytecode upgrade is being
...
replaced in 2.0 with assembly upgrade via the llvm-upgrade tool.
llvm-svn: 32132
2006-12-02 20:35:50 +00:00
Reid Spencer
c58764b57b
Upgrade old intrinsic function calls manually.
...
llvm-svn: 32131
2006-12-02 20:34:57 +00:00
Reid Spencer
107b4b79c4
Use llvm-upgrade these tests as they all use old assembly.
...
llvm-svn: 32130
2006-12-02 20:34:08 +00:00
Reid Spencer
7d4eb03ceb
Remove old intrinsic declarations and usage.
...
llvm-svn: 32129
2006-12-02 20:30:20 +00:00
Reid Spencer
1290f03fa3
Regenerate.
...
llvm-svn: 32128
2006-12-02 20:21:22 +00:00
Reid Spencer
2017e84f9a
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.
llvm-svn: 32127
2006-12-02 20:19:56 +00:00
Reid Spencer
9d91281573
Remove a redundant RUN: line.
...
llvm-svn: 32126
2006-12-02 17:49:38 +00:00
Reid Spencer
797cb85015
Add llvm-upgrade documentation.
...
llvm-svn: 32125
2006-12-02 16:36:48 +00:00
Reid Spencer
963bdf3885
Document the llvm-upgrade tool.
...
llvm-svn: 32124
2006-12-02 16:35:42 +00:00
Reid Spencer
8100d27982
Prevent a GEP from getting upgraded to avoid resulting test failure.
...
llvm-svn: 32123
2006-12-02 16:25:20 +00:00
Reid Spencer
7f327637b1
Regenerate.
...
llvm-svn: 32122
2006-12-02 16:19:52 +00:00
Reid Spencer
3a81da78a1
Implement the GEP upgrade for non-constant unsigned indices
...
llvm-svn: 32121
2006-12-02 16:19:28 +00:00
Reid Spencer
74fb4359a9
Keep lists of values so they can be examined.
...
llvm-svn: 32120
2006-12-02 15:16:01 +00:00
Reid Spencer
8b0cb8cf03
Update this test to use llvm-update.
...
llvm-svn: 32117
2006-12-02 05:02:46 +00:00
Reid Spencer
f7e9f43e21
Build llvm-update now.
...
llvm-svn: 32116
2006-12-02 04:46:36 +00:00
Reid Spencer
d0e30dc5be
Use the llvm-upgrade program to upgrade llvm assembly.
...
llvm-svn: 32115
2006-12-02 04:23:10 +00:00
Reid Spencer
bc7daea442
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.
llvm-svn: 32114
2006-12-02 04:11:07 +00:00
Jeff Cohen
cc08c83186
Unbreak VC++ build.
...
llvm-svn: 32113
2006-12-02 02:22:01 +00:00
Chris Lattner
7a002fec1f
disable transformations that are invalid for fp vectors. This fixes
...
Transforms/InstCombine/2006-12-01-BadFPVectorXform.ll
llvm-svn: 32112
2006-12-02 00:13:08 +00:00
Chris Lattner
72239930e0
new testcase
...
llvm-svn: 32111
2006-12-02 00:12:32 +00:00
Chris Lattner
4d9fc5e896
Switch analysis groups to be unregistered when llvm_shutdown is called.
...
llvm-svn: 32110
2006-12-01 23:46:50 +00:00
Reid Spencer
114c808702
Handle upgrade of fp -> ptr cast with fp -> int -> ptr
...
llvm-svn: 32109
2006-12-01 23:40:53 +00:00
Chris Lattner
1b368a0cf6
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.
llvm-svn: 32108
2006-12-01 23:27:45 +00:00
Evan Cheng
8e94078483
Match TargetInstrInfo changes.
...
llvm-svn: 32107
2006-12-01 22:57:41 +00:00
Reid Spencer
8a95b0bf21
Don't convert {} into []!
...
llvm-svn: 32106
2006-12-01 22:42:01 +00:00
Chris Lattner
d321248d96
pass cfgonly up the ctor instead of calling an explicit method.
...
llvm-svn: 32105
2006-12-01 22:36:43 +00:00
Reid Spencer
7956c3647b
Allow the new cast instructions.
...
llvm-svn: 32104
2006-12-01 22:34:43 +00:00
Reid Spencer
c3f57a2f8b
Upgrade shr to ashr and lshr
...
llvm-svn: 32103
2006-12-01 22:26:37 +00:00
Chris Lattner
23d540538d
move 'cfgonly' pass tracking into PassInfo, instead of handling it with
...
yet-another global data structure.
llvm-svn: 32102
2006-12-01 22:21:11 +00:00
Chris Lattner
33fff0398a
remove 'target constructor' support.
...
llvm-svn: 32100
2006-12-01 22:00:50 +00:00
Chris Lattner
571dd5778f
target constructors are never used
...
llvm-svn: 32099
2006-12-01 21:59:37 +00:00
Evan Cheng
67fc141db5
Match TargetInstrInfo changes.
...
llvm-svn: 32098
2006-12-01 21:52:58 +00:00
Evan Cheng
07fc107e90
convertToThreeAddress() is now responsible for updating live info as well as inserting the new MI's.
...
llvm-svn: 32097
2006-12-01 21:52:41 +00:00
Reid Spencer
f05199113c
Don't treat numeric (untyped) constants as a ConstInfo, just pass the
...
string and let ConstVal add the type.
llvm-svn: 32096
2006-12-01 21:52:30 +00:00
Evan Cheng
2f89f04e5f
Typo
...
llvm-svn: 32095
2006-12-01 21:50:17 +00:00
Evan Cheng
dcd052e11a
- Add getOperandConstraint() to TargetInstrDescriptor.
...
- convertToThreeAddress() change to allow single two-address MI to be converted
into one or more 3-address MIs.
llvm-svn: 32094
2006-12-01 21:46:55 +00:00
Chris Lattner
3a279ecc65
fix incorrectly translated testcase
...
llvm-svn: 32093
2006-12-01 21:38:02 +00:00
Reid Spencer
7e798cc0ae
First version of llvm-upgrade that can correctly upgrade all of
...
test/Feature
llvm-svn: 32092
2006-12-01 21:10:07 +00:00
Evan Cheng
022030a425
Add weak reference directive.
...
llvm-svn: 32091
2006-12-01 20:47:11 +00:00
Reid Spencer
16353d6583
valgrind clean version of llvm-upgrade
...
llvm-svn: 32090
2006-12-01 20:36:40 +00:00
Reid Spencer
2daa57894f
First version of llvm-upgrade that can correctly upgrade a large test
...
case.
llvm-svn: 32089
2006-12-01 20:26:20 +00:00
Chris Lattner
70359e75bf
Remove dead methods
...
llvm-svn: 32088
2006-12-01 20:14:47 +00:00
Chris Lattner
defd8470aa
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.
llvm-svn: 32087
2006-12-01 19:50:54 +00:00
Chris Lattner
6dde72735e
test1 is miscompiled
...
llvm-svn: 32086
2006-12-01 19:50:04 +00:00
Jim Laskey
b0862be332
wrong spot
...
llvm-svn: 32084
2006-12-01 19:39:32 +00:00
Jim Laskey
ba0f15c676
Test for float varargs.
...
llvm-svn: 32083
2006-12-01 19:29:20 +00:00
Chris Lattner
710ebaf377
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.
llvm-svn: 32081
2006-12-01 19:22:41 +00:00
Chris Lattner
f16661c3c6
add a new ConstantIntegral::get method. Simplify the implementation of
...
ConstantInt::get
llvm-svn: 32080
2006-12-01 19:20:02 +00:00
Chris Lattner
635ed246d7
new 'cast' miscompilation, reduced from perlbmk by Evan
...
llvm-svn: 32079
2006-12-01 19:02:56 +00:00
Chris Lattner
e6b2c29c27
enable this now that codegen support is in place
...
llvm-svn: 32076
2006-12-01 18:04:08 +00:00
Evan Cheng
b689d32b20
Copy and paste error. An initialized global cannot be a weak reference.
...
llvm-svn: 32075
2006-12-01 17:39:22 +00:00
Jim Laskey
1b0bc794e6
1. In ppc64 mode we need only use one GPR.
...
2. Float values need to be promoted to double when they are vararg.
llvm-svn: 32074
2006-12-01 16:30:47 +00:00
Jim Laskey
311622f912
ExternalWeak case in wrong location.
...
llvm-svn: 32073
2006-12-01 14:37:39 +00:00
Evan Cheng
80361a9297
This test is meant for X86 CPU which does not support SSE2.
...
llvm-svn: 32072
2006-12-01 10:17:36 +00:00
Evan Cheng
845bd6e096
Fix 2005-05-08-FPStackifierPHI.ll failure.
...
llvm-svn: 32071
2006-12-01 10:11:51 +00:00
Evan Cheng
3fe5331483
Add a extern weak test case.
...
llvm-svn: 32070
2006-12-01 09:18:20 +00:00
Evan Cheng
5fb2c76d59
A initialized global variable cannot be extern weak. However, if a global value's initializer is itself a external weak symbol, emit the weak reference.
...
llvm-svn: 32069
2006-12-01 09:13:26 +00:00
Evan Cheng
fa54c0b6fb
Darwin PPC external weak linkage support.
...
llvm-svn: 32068
2006-12-01 07:56:37 +00:00
Evan Cheng
5b020349f2
Minor code clean up.
...
llvm-svn: 32067
2006-12-01 07:38:23 +00:00
Evan Cheng
db66456285
Fix indentation.
...
llvm-svn: 32066
2006-12-01 07:17:00 +00:00
Evan Cheng
6476a3b4ba
Darwin X86 external weak linkage support.
...
llvm-svn: 32065
2006-12-01 07:15:24 +00:00
Chris Lattner
8bbf5e20cc
new testcase to verify external weak continues to work
...
llvm-svn: 32064
2006-12-01 07:14:26 +00:00
Chris Lattner
18f6fe36ce
new testcase for PR1027
...
llvm-svn: 32063
2006-12-01 06:34:56 +00:00
Chris Lattner
d1d5693149
Fix a typo introduced by the cast patch that horribly broke a lot of vector
...
code. Testcase here: Transforms/ConstProp/2006-11-30-vector-cast.ll
llvm-svn: 32062
2006-12-01 05:55:25 +00:00
Chris Lattner
5145977cd8
new testcase
...
llvm-svn: 32061
2006-12-01 05:54:48 +00:00
Reid Spencer
6f05d73938
Don't fold "ptrtoint GV to bool" since this should be doing a truncate not
...
a comparison against zero. Instead fold setne(GV,null) and seteq(GV,null)
to ConstantBool::True or ConstantBool::False, respectively.
llvm-svn: 32060
2006-12-01 03:56:30 +00:00
Reid Spencer
30477cd88e
Define the HAVE_PTHREAD symbol.
...
llvm-svn: 32059
2006-12-01 03:46:01 +00:00
Reid Spencer
6c0676d4e6
The InstCombine hack has been removed, no need to XFAIL this any more.
...
llvm-svn: 32058
2006-12-01 01:50:45 +00:00
Chris Lattner
09ed0ff2ac
Fix the CodeGen/PowerPC/vec_constants.ll regression.
...
llvm-svn: 32057
2006-12-01 01:45:39 +00:00
Nick Lewycky
f0371198ec
Remove extra header.
...
llvm-svn: 32056
2006-12-01 01:05:14 +00:00
Nick Lewycky
e5a8617778
Fix opt -o option. Don't pass a pointer to an auto variable which is going
...
away before it's needed, and don't try to delete that pointer!
llvm-svn: 32055
2006-12-01 00:43:14 +00:00
Reid Spencer
d43999259b
For PR1019:
...
Add HAVE_PTHREAD to makefiles with support from configure and use it to
determine whether to build examples/ParallelJIT.
Patch by Anton Korobeynikov.
llvm-svn: 32054
2006-12-01 00:37:14 +00:00
Reid Spencer
d5e19444a7
Regenerate.
...
llvm-svn: 32053
2006-12-01 00:33:46 +00:00
Anton Korobeynikov
12c94949e0
Introducing external weak linkage. Darwin codegen should be added later.
...
llvm-svn: 32052
2006-12-01 00:25:12 +00:00
Reid Spencer
ad05ee9f39
Remove 4 FIXMEs to hack around cast-to-bool problems which no longer exist.
...
llvm-svn: 32051
2006-11-30 23:13:36 +00:00
Anton Korobeynikov
6dbdfe2baa
Factor out GVRequiresExtraLoad() from .h to .cpp
...
llvm-svn: 32048
2006-11-30 22:42:55 +00:00
Evan Cheng
6104a1aa9e
Add X86-64 load / store codegen tests.
...
llvm-svn: 32047
2006-11-30 22:07:00 +00:00
Evan Cheng
ae1cd75af7
- Use a different wrapper node for RIP-relative GV, etc.
...
- Proper support for both small static and PIC modes under X86-64
- Some (non-optimal) support for medium modes.
llvm-svn: 32046
2006-11-30 21:55:46 +00:00
Jim Laskey
f52337299a
better check for version
...
llvm-svn: 32045
2006-11-30 18:29:23 +00:00
Chris Lattner
c8978c5272
make it clear that this is always a zext
...
llvm-svn: 32044
2006-11-30 17:35:08 +00:00
Chris Lattner
3ede00b376
One more bugfix, 3 cases of making casts explicit.
...
llvm-svn: 32043
2006-11-30 17:32:29 +00:00
Chris Lattner
0390b9e6bb
Fix a bug in globalopt due to the recent cast patch.
...
llvm-svn: 32042
2006-11-30 17:26:08 +00:00
Reid Spencer
3867383db0
Allow llvm-upgrade to read from stdin. Configure the lexer for reading
...
from C++ std::istream.
llvm-svn: 32041
2006-11-30 16:50:26 +00:00
Jim Laskey
b12ab5fadb
Add compile unit size test
...
llvm-svn: 32040
2006-11-30 15:36:44 +00:00
Jim Laskey
e6f6890438
Correct comment
...
llvm-svn: 32039
2006-11-30 15:31:49 +00:00
Jim Laskey
030b840234
Pubnames test
...
llvm-svn: 32038
2006-11-30 15:25:59 +00:00
Jim Laskey
4d98e2e79d
Update docs
...
llvm-svn: 32037
2006-11-30 14:36:22 +00:00
Jim Laskey
b5b14060a8
Change global descriptor names to provide name, full name and linkage name.
...
llvm-svn: 32036
2006-11-30 14:35:45 +00:00
Jim Laskey
aa2843ad4a
Temp fix to deal gdb issue.
...
llvm-svn: 32035
2006-11-30 11:09:42 +00:00
Evan Cheng
aafeaef8c8
MachineInstr::setOpcode -> MachineInstr::setInstrDescriptor
...
llvm-svn: 32034
2006-11-30 07:12:03 +00:00
Evan Cheng
fef6400f01
Remove the ugly SPARCV9 TargetInstrDescriptors hack.
...
llvm-svn: 32033
2006-11-30 07:10:43 +00:00
Evan Cheng
3c3ce98530
- MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode.
...
- Remove the ugly TargetInstrDescriptors hack.
llvm-svn: 32032
2006-11-30 07:08:44 +00:00
Reid Spencer
120b380bb5
Ignore generated files.
...
llvm-svn: 32031
2006-11-30 06:37:43 +00:00
Reid Spencer
8e60eec519
Initial, non-functional, version of llvm-upgrade. This version just echos
...
its input. Committed for safekeeping purposes. Don't use this yet.
llvm-svn: 32030
2006-11-30 06:36:44 +00:00
Evan Cheng
983ac81fb0
New LSR test case.
...
llvm-svn: 32029
2006-11-29 23:48:37 +00:00
Evan Cheng
7a9238c84d
In PIC mode, GV not requiring an extra load can be used as address immediate.
...
llvm-svn: 32028
2006-11-29 23:48:14 +00:00
Evan Cheng
8c84c7cd0d
Clean up.
...
llvm-svn: 32027
2006-11-29 23:46:27 +00:00
Evan Cheng
0b1692216d
Fix for PR1018 - Better support for X86-64 Linux in small code model.
...
llvm-svn: 32026
2006-11-29 23:19:46 +00:00
Reid Spencer
70c3dd4eff
Get the delegation right for InstVisitor.
...
llvm-svn: 32025
2006-11-29 21:37:00 +00:00
Chris Lattner
2f648fc55d
Fix bug codegen'ing FP constant vectors with integer splats. Make sure the
...
created intrinsics have the right integer types. This fixes
PowerPC/2006-11-29-AltivecFPSplat.ll
llvm-svn: 32024
2006-11-29 19:58:49 +00:00
Chris Lattner
c386b40714
new testcase
...
llvm-svn: 32023
2006-11-29 19:57:55 +00:00
Evan Cheng
a743fada65
Avoid inifinite looping if READCYCLECOUNTER isn't custom lowered.
...
llvm-svn: 32022
2006-11-29 19:13:47 +00:00
Jim Laskey
01b74b6f7b
Eliminate unnecessary scopes.
...
llvm-svn: 32020
2006-11-29 16:55:57 +00:00
Jim Laskey
152671f0bf
Offset for load of 32-bit arg in 64-bit world was incorrect.
...
llvm-svn: 32019
2006-11-29 13:37:09 +00:00
Evan Cheng
e2e0a33e6c
Add x86-64 llvm.readcyclecounter test.
...
llvm-svn: 32018
2006-11-29 08:29:59 +00:00
Evan Cheng
28a9e9b230
Custom lower READCYCLECOUNTER for x86-64.
...
llvm-svn: 32017
2006-11-29 08:28:13 +00:00
Evan Cheng
6973993e9c
Allow target to custom lower READCYCLECOUNTER (when it doesn't have to be expanded).
...
llvm-svn: 32016
2006-11-29 08:26:18 +00:00
Evan Cheng
c24ce795a3
Fix test.
...
llvm-svn: 32015
2006-11-29 08:22:59 +00:00
Bill Wendling
7ec1a5befa
Oops! didn't mean to put this in there yet.
...
llvm-svn: 32014
2006-11-29 07:31:23 +00:00
Chris Lattner
0d67dde00a
done
...
llvm-svn: 32013
2006-11-29 07:21:46 +00:00
Chris Lattner
aeddf5f077
new bswap idiom
...
llvm-svn: 32012
2006-11-29 07:21:08 +00:00
Chris Lattner
960acb008b
implement cast.ll:test35. With this, we recognize:
...
unsigned short swp(unsigned short a) {
return ((a & 0xff00) >> 8 | (a & 0x00ff) << 8);
}
as an idiom for bswap.
llvm-svn: 32011
2006-11-29 07:18:39 +00:00
Chris Lattner
19d72c9f4f
new testcase
...
llvm-svn: 32010
2006-11-29 07:17:32 +00:00
Chris Lattner
d747f015ff
Teach instcombine to turn trunc(srl x, c) -> srl (trunc(x), c) when safe.
...
This implements InstCombine/cast.ll:test34. It fires hundreds of times on
176.gcc.
llvm-svn: 32009
2006-11-29 07:04:07 +00:00
Chris Lattner
544dfa013c
new testcase
...
llvm-svn: 32008
2006-11-29 07:03:00 +00:00
Chris Lattner
7b34c1391a
This fails on mainline.
...
llvm-svn: 32007
2006-11-29 05:19:32 +00:00
Chris Lattner
a7942b7bbd
Implement Regression/Transforms/InstCombine/bswap-fold.ll,
...
folding seteq (bswap(x)), c -> seteq(x,bswap(c))
llvm-svn: 32006
2006-11-29 05:02:16 +00:00
Chris Lattner
e7f83dcf4b
new testcase, bswaps should be eliminated.
...
llvm-svn: 32005
2006-11-29 05:00:14 +00:00
Evan Cheng
8facb43593
16-byte stack alignment for X86-64 ELF. Patch by Dan Gohman.
...
llvm-svn: 32004
2006-11-29 02:00:40 +00:00
Evan Cheng
feba507a97
Fix for PR1023 by Dan Gohman.
...
llvm-svn: 32003
2006-11-29 01:58:12 +00:00
Evan Cheng
79ca238966
Add test cases for PR1022, 1023.
...
llvm-svn: 32002
2006-11-29 01:57:06 +00:00
Chris Lattner
38084725a2
Upgrade the ugly darwin 64-bit bswap idiom (bswap %eax / bswap %edx /
...
xchgl %eax, %edx) to llvm.bswap.i64. This compiles:
long long test2(long long A) {
return _OSSwapInt64(A);
}
to:
_test2:
movl 8(%esp), %eax
movl 4(%esp), %edx
bswapl %eax
bswapl %edx
ret
instead of:
_test2:
movl 8(%esp), %edx
movl 4(%esp), %eax
bswap %eax
bswap %edx
xchgl %eax, %edx
ret
GCC manages (with -fomit-frame-pointer) the uglier:
_test2:
subl $4, %esp
movl 8(%esp), %eax
movl 12(%esp), %edx
bswap %eax
bswap %edx
xchgl %eax, %edx
addl $4, %esp
ret
llvm-svn: 32001
2006-11-29 01:48:01 +00:00
Evan Cheng
6e12a052ff
Fix for PR1022 (folding loads of static initializers) by Dan Gohman.
...
llvm-svn: 32000
2006-11-29 01:38:07 +00:00
Chris Lattner
0fc6ae0c3d
Trivially lower 'bswap $0' into llvm.bswap. This fixes hexxagon with the
...
JIT on darwin/x86, which has htonl implemented as inline asm.
llvm-svn: 31999
2006-11-29 01:14:06 +00:00
Bill Wendling
18739dc03f
WTF? These weird newlines got in there...
...
llvm-svn: 31998
2006-11-29 01:14:00 +00:00
Chris Lattner
90f4238c38
add a hook to allow targets to hack on inline asms to lower them to llvm
...
when they want to.
llvm-svn: 31997
2006-11-29 01:12:32 +00:00
Reid Spencer
a736fdf216
Join a split line.
...
llvm-svn: 31996
2006-11-29 01:11:01 +00:00
Bill Wendling
5c3966aa68
Converted to using llvm streams instead of <iostream>s
...
llvm-svn: 31992
2006-11-29 00:39:47 +00:00
Bill Wendling
afd54eb8b6
Replacing std::iostreams with llvm iostreams. Some of these changes involve
...
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.
llvm-svn: 31990
2006-11-29 00:19:40 +00:00
Bill Wendling
a531ac291c
Convert to using llvm streams instead of iostreams.
...
llvm-svn: 31989
2006-11-28 23:33:06 +00:00
Bill Wendling
a38b3e15be
Support for llvm_ostreams.
...
llvm-svn: 31988
2006-11-28 23:31:42 +00:00
Andrew Lenharth
904ca9c688
gcc doesn't like an empty colbber list
...
llvm-svn: 31987
2006-11-28 23:07:32 +00:00
Bill Wendling
be6ce9d1c7
Use ostream instead of iostream
...
llvm-svn: 31986
2006-11-28 22:49:32 +00:00
Bill Wendling
787b77320f
Use llvm streams instead of <iostream>
...
llvm-svn: 31985
2006-11-28 22:48:48 +00:00
Bill Wendling
6c1740f31f
Removed #include <iostream> and used llvm streams
...
llvm-svn: 31984
2006-11-28 22:47:12 +00:00
Bill Wendling
597d451fea
Removed some of the iostream #includes. Moved towards converting to using
...
llvm streams
llvm-svn: 31983
2006-11-28 22:46:12 +00:00
Bill Wendling
a60d8edfc9
Support for llvm streams.
...
llvm-svn: 31982
2006-11-28 22:45:17 +00:00
Chris Lattner
228bcd3802
Add a helper function
...
llvm-svn: 31981
2006-11-28 22:32:35 +00:00
Andrew Lenharth
f52ae7ec72
Identities are default now
...
llvm-svn: 31980
2006-11-28 22:28:08 +00:00
Andrew Lenharth
8b59fd03c2
Make identity default, and fix PR1020
...
llvm-svn: 31979
2006-11-28 22:25:32 +00:00
Bill Wendling
f89955be1b
Added a temporary hack to get the llvm-streams to work for future checkins.
...
llvm-svn: 31978
2006-11-28 22:21:29 +00:00
Reid Spencer
116ad83aa0
Undo the last patch until 253.perlbmk passes with these changes.
...
llvm-svn: 31977
2006-11-28 20:23:51 +00:00
Evan Cheng
69b1825488
New entries.
...
llvm-svn: 31976
2006-11-28 19:59:25 +00:00
Andrew Lenharth
7f739d5bdd
update comments
...
llvm-svn: 31975
2006-11-28 19:56:02 +00:00
Andrew Lenharth
212f15fa8a
Get the asminfo for the target most closely matching the module and use that for inline asm
...
llvm-svn: 31974
2006-11-28 19:53:36 +00:00
Andrew Lenharth
2675e23a7e
X86 asm -> gcc asm translation table (incomplete)
...
llvm-svn: 31973
2006-11-28 19:52:49 +00:00
Andrew Lenharth
ff35b449a0
Add per-target support for asm translation in the cbe
...
llvm-svn: 31972
2006-11-28 19:52:20 +00:00
Jim Laskey
40182179b6
Remove debug code.
...
llvm-svn: 31970
2006-11-28 18:27:02 +00:00
Jim Laskey
ec05b046c7
Prime text sections to improve branch locality in large object files.
...
llvm-svn: 31969
2006-11-28 18:21:52 +00:00
Jim Laskey
f4e2e009d9
32-bit int space was not accounted for properly in lowerCall.
...
llvm-svn: 31966
2006-11-28 14:53:52 +00:00
Reid Spencer
55f1fbee2e
Regenerate.
...
llvm-svn: 31965
2006-11-28 07:29:44 +00:00
Reid Spencer
d47017990b
Implement signedness caching for values, value lists, constants and
...
constant lists. This is just an internal change to the parser in
preparation for some backwards compatibility code that is to follow.
This will allow things like "uint 4000000000" to retain the unsignedness
of the integer constant as the value moves through the parser. In the
future, all integer types will be signless but parsing "uint" and friends
will be retained for backwards compatibility.
llvm-svn: 31964
2006-11-28 07:28:14 +00:00
Reid Spencer
59fe2d89ae
Remove 4 FIXME's from the CAST patch now that the back end is correctly
...
producing code for "trunc to bool". This passes all tests on Linux.
llvm-svn: 31963
2006-11-28 07:23:01 +00:00
Reid Spencer
d077fe70e9
Add an -append-exit-code option to bugpoint. This will cause bugpoint to
...
append "exit <retcode>" to the end of the output file. This is used by
the nightly tester to make bugpoint match the output generated by the
RunSafely.sh script so it doesn't find false positives.
llvm-svn: 31960
2006-11-28 07:04:10 +00:00
Reid Spencer
21052cd48f
Fix a typo.
...
llvm-svn: 31959
2006-11-28 06:14:06 +00:00
Bill Wendling
bc0d5f8bcb
Put the #include for a module first.
...
llvm-svn: 31958
2006-11-28 03:31:29 +00:00
Evan Cheng
b2a6b0dbad
Clean up.
...
llvm-svn: 31957
2006-11-28 02:25:34 +00:00
Evan Cheng
db8f19fb90
Fix indentation.
...
llvm-svn: 31956
2006-11-28 02:22:51 +00:00
Bill Wendling
dfc91897df
Changed to using LLVM streams.
...
llvm-svn: 31955
2006-11-28 02:09:03 +00:00
Bill Wendling
3f6f0fd028
Changed to using llvm streams.
...
llvm-svn: 31954
2006-11-28 02:08:17 +00:00
Bill Wendling
cd2f1a897f
Added helper function to transition to using llvm streams.
...
llvm-svn: 31953
2006-11-28 02:07:29 +00:00
Evan Cheng
8ddbdc70b7
Fix JIT encoding bugs for shift / rotate by one ops.
...
llvm-svn: 31952
2006-11-28 01:28:00 +00:00
Chris Lattner
e88ff3a961
testcase for pr1016
...
llvm-svn: 31951
2006-11-28 01:26:37 +00:00
Chris Lattner
3abb63651b
Fix PR1016
...
llvm-svn: 31950
2006-11-28 01:03:30 +00:00
Bill Wendling
5834fdb371
Removed #include <iostream> and replaced streams with llvm streams.
...
llvm-svn: 31949
2006-11-27 23:54:50 +00:00
Andrew Lenharth
e8c64aba11
Preliminary support for inline asm in the cbe. The target specific ugliness
...
is still in Writer, but issolated to a single function. This might be split
into something in each target directory. This is sufficient to get through
archie and an strcpy impl on linux-x86.
Module level asm is not handled.
llvm-svn: 31948
2006-11-27 23:50:49 +00:00
Evan Cheng
20350c4025
Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead
...
of opcode and number of operands.
llvm-svn: 31947
2006-11-27 23:37:22 +00:00
Chris Lattner
5230e9175a
remove dead tag
...
llvm-svn: 31944
2006-11-27 21:53:28 +00:00
Chris Lattner
5d5916b4d1
Fix the dag combiner bug corresponding to PR1014.
...
llvm-svn: 31943
2006-11-27 21:50:02 +00:00
Chris Lattner
f36cc15a84
this doesn't pass with CVS HEAD.
...
llvm-svn: 31942
2006-11-27 20:01:48 +00:00
Chris Lattner
8e9a7b73d9
Fix PR1014 and InstCombine/2006-11-27-XorBug.ll.
...
llvm-svn: 31941
2006-11-27 19:55:07 +00:00
Reid Spencer
5fb4da8c5d
Add 3 more test cases for ptrtoint, fptoui and fptosi
...
llvm-svn: 31940
2006-11-27 19:54:23 +00:00
Chris Lattner
2c2e34b2c4
testcase for PR1014
...
llvm-svn: 31939
2006-11-27 19:47:22 +00:00
Reid Spencer
16eaffe595
When truncating to bool, it is necessary to & with 1 for all casts that
...
can result in a bool. Previously PtrToInt, FPToUI and FPToSI were missing
this operation.
llvm-svn: 31938
2006-11-27 18:51:06 +00:00
Bill Wendling
f790e9de2c
Protect against null streams.
...
llvm-svn: 31937
2006-11-27 10:45:49 +00:00
Bill Wendling
7339b8dbfd
Removed #include <iostream> and replaced with llvm_* streams.
...
llvm-svn: 31936
2006-11-27 10:09:12 +00:00
Reid Spencer
141519fbc0
Alter these tests to ensure they match a "test $1, X" X86 instruction that
...
is now generated by the LLVM backend for "trunc to bool" instructions.
llvm-svn: 31935
2006-11-27 05:08:03 +00:00
Reid Spencer
b3281892d9
Add a test to ensure a bitcast/and/trunc combination eliminates the bitcast.
...
llvm-svn: 31934
2006-11-27 05:06:58 +00:00
Chris Lattner
3da631f29a
For better or worse, load from i1 is assumed to be zero extended. Do not
...
form a load from i1 from larger loads that may not be zext'd.
llvm-svn: 31933
2006-11-27 04:40:53 +00:00
Chris Lattner
db18938355
If a brcond condition is promoted, make sure to zero extend it, even if not
...
expanded into BR_CC.
llvm-svn: 31932
2006-11-27 04:39:56 +00:00
Reid Spencer
6c38f0bb07
For PR950:
...
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Reid Spencer
afbc00bc38
Don't use bitcast yet!
...
llvm-svn: 31930
2006-11-26 21:22:01 +00:00
Reid Spencer
2dd1741565
Make this test case easier to read. No functional changes.
...
llvm-svn: 31929
2006-11-26 18:27:09 +00:00
Bill Wendling
3750ae25a0
Removed #include <iostream> and replace with llvm_* streams.
...
llvm-svn: 31927
2006-11-26 10:52:51 +00:00
Bill Wendling
a88968b9c4
Add method that will take a function pointer so that it can handle things
...
like "llvm_cerr << std::flush";
llvm-svn: 31926
2006-11-26 10:51:51 +00:00
Bill Wendling
4ae401074c
Remove #include <iostream> and use llvm_* streams instead.
...
llvm-svn: 31925
2006-11-26 10:17:54 +00:00
Bill Wendling
8f13b5c43e
Replace #include <iostream> with llvm_* streams.
...
llvm-svn: 31924
2006-11-26 10:02:32 +00:00
Bill Wendling
5dbf43c983
Removed #include <iostream> and replaced with llvm_* streams.
...
llvm-svn: 31923
2006-11-26 09:46:52 +00:00
Bill Wendling
a7459ca813
Removed #include <iostream> and used the llvm_cerr/DOUT streams instead.
...
llvm-svn: 31922
2006-11-26 09:17:06 +00:00