Commit Graph

28200 Commits

Author SHA1 Message Date
Chris Lattner 979804d800 eliminate fp statistic
llvm-svn: 32251
2006-12-06 01:48:55 +00:00
Chris Lattner 76d4632d92 make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
With this change, I can now move -stats to print when llvm_shutdown is called.

llvm-svn: 32250
2006-12-06 01:18:01 +00:00
Chris Lattner b1a268f08f add a helper to call llvm_shutdown()
llvm-svn: 32249
2006-12-06 01:01:14 +00:00
Chris Lattner bbbb1c5e78 this is a subset of Codegen/X86/bitcast.ll, remove it.
llvm-svn: 32248
2006-12-06 00:46:14 +00:00
Reid Spencer 876f722fc5 Fix constant folding to deal with external weak global values.
llvm-svn: 32247
2006-12-06 00:25:09 +00:00
Reid Spencer e266dc7621 Regenerate.
llvm-svn: 32246
2006-12-05 23:50:48 +00:00
Reid Spencer 7d9b8a8f03 Remove dead var NewVarArgs.
llvm-svn: 32245
2006-12-05 23:46:41 +00:00
Chris Lattner 6f6b497748 Fix Transforms/InstCombine/2006-12-05-fp-to-int-ext.ll, fixing an out-of-
stack-space issue in the ppc bootstrap.

llvm-svn: 32244
2006-12-05 23:43:59 +00:00
Chris Lattner 83830075f6 Instcombine shouldn't fold these casts.
llvm-svn: 32243
2006-12-05 23:43:20 +00:00
Reid Spencer 2764219e3e Regenerate.
llvm-svn: 32242
2006-12-05 23:29:42 +00:00
Reid Spencer cec21a5592 Dump the old va_arg and va_next upgrade support. No need to keep track of
the current basic block any more either.

llvm-svn: 32241
2006-12-05 23:28:06 +00:00
Reid Spencer 0646eb415d Finally get the casting right in this file. Also, remove some unnecessary
casting because sdiv doesn't require operand signs to match any more.

llvm-svn: 32240
2006-12-05 22:39:58 +00:00
Evan Cheng 47e181cc4d Revert an unintended change.
llvm-svn: 32239
2006-12-05 22:03:40 +00:00
Evan Cheng dd60ca029c - Switch X86-64 JIT to large code size model.
- Re-enable some codegen niceties for X86-64 static relocation model codegen.
- Clean ups, etc.

llvm-svn: 32238
2006-12-05 19:50:18 +00:00
Chris Lattner dd23d3dd05 straighten out various memory ownership issues in the callgraph stuff.
This fixes Regression/Other/2002-01-31-CallGraph.ll.

llvm-svn: 32237
2006-12-05 19:46:12 +00:00
Chris Lattner e549bac57b This needs the callgraph data structure to stick around as long as the
printer does.

llvm-svn: 32236
2006-12-05 19:43:42 +00:00
Reid Spencer 39651ae196 Regenerate.
llvm-svn: 32235
2006-12-05 19:21:25 +00:00
Reid Spencer c77c7157f8 For PR645:
Keep track of global constant and variable definitions for eventual use
in resolving conflicts between global and local symbol usage.

llvm-svn: 32234
2006-12-05 19:18:29 +00:00
Reid Spencer 844668d2ef Regenerate.
llvm-svn: 32233
2006-12-05 19:16:11 +00:00
Reid Spencer 5bcee9aa1e Remove various old upgrade hacks that are no longer needed.
llvm-svn: 32232
2006-12-05 19:15:41 +00:00
Reid Spencer f37dc65b08 Bail on the getInferredCast idea. Remove the function and convert
remaining uses to more specific casts.

llvm-svn: 32231
2006-12-05 19:14:13 +00:00
Chris Lattner c20b7e878a If we have ScalarSSE, we can select bitconvert into single instructions.
This compiles bitcast.ll:test3/test4 into:

_test3:
        movd %xmm0, %eax
        ret
_test4:
        movd %edi, %xmm0
        ret

llvm-svn: 32230
2006-12-05 18:45:06 +00:00
Chris Lattner 57a41985e3 Add a perf optzn corresponding to PR1033.
llvm-svn: 32229
2006-12-05 18:25:10 +00:00
Chris Lattner 55c17f9177 Fix PR1033 and CodeGen/X86/bitcast.ll, by expanding bitcast to a load/store pair.
This could be better, readme entry pending.

llvm-svn: 32228
2006-12-05 18:22:22 +00:00
Chris Lattner b6e14a0e10 new testcase
llvm-svn: 32227
2006-12-05 18:21:52 +00:00
Rafael Espindola b5dee63958 expand memmove and memcpy
llvm-svn: 32226
2006-12-05 17:57:23 +00:00
Reid Spencer 1792326daf Eliminate "control reaches end of non-void function" warnings.
llvm-svn: 32225
2006-12-05 17:53:26 +00:00
Rafael Espindola 96fd6447c7 add support for the "r" asm constraint
patch by Lauro Ramos Venancio

llvm-svn: 32224
2006-12-05 17:37:31 +00:00
Chris Lattner a16201c672 Fix typo noticed by Lauro Ramos Venancio, thanks!
llvm-svn: 32223
2006-12-05 17:29:40 +00:00
Rafael Espindola 2369a024d7 add support for weak linkage
llvm-svn: 32222
2006-12-05 17:00:17 +00:00
Reid Spencer 300aae721e Ignore the Output directory.
llvm-svn: 32221
2006-12-05 16:10:16 +00:00
Evan Cheng 3b235aa5dc JIT large code model support.
llvm-svn: 32220
2006-12-05 07:29:55 +00:00
Reid Spencer a16f930aac Can't make these fail now with just BitCast. Previous failures must have
been in conjunction with something else. By right, they should just be
BitCasts.

llvm-svn: 32219
2006-12-05 07:18:07 +00:00
Evan Cheng 8e0e9fbe7b Asm printing bug.
llvm-svn: 32218
2006-12-05 06:43:58 +00:00
Evan Cheng 62cdc3f011 - Fix X86-64 JIT by temporarily disabling code that treats GV address as 32-bit
immediate in small code model. The JIT cannot ensure GV's are placed in the
lower 4G.
- Some preliminary support for large code model.

llvm-svn: 32215
2006-12-05 04:01:03 +00:00
Evan Cheng 830f224bf5 Update
llvm-svn: 32214
2006-12-05 03:58:23 +00:00
Reid Spencer 27720a962d Remove the last inferred casts from VMCore.
llvm-svn: 32213
2006-12-05 03:30:09 +00:00
Reid Spencer d5a3f0dd1b Implement createPointerCast.
llvm-svn: 32212
2006-12-05 03:28:26 +00:00
Reid Spencer bc245a0190 Implement getPointerCast.
llvm-svn: 32211
2006-12-05 03:25:26 +00:00
Chris Lattner c92921f939 new testcase
llvm-svn: 32210
2006-12-05 01:29:01 +00:00
Chris Lattner c209b584eb add an instcombine xform. This speeds up 462.libquantum from 9.78s to
7.48s.  This regression is due to unforseen consequences of the cast patch.

llvm-svn: 32209
2006-12-05 01:26:29 +00:00
Devang Patel 21efc73161 SCCP does not handle Packed Type properly. Disable Packed Type handling
for now.

llvm-svn: 32208
2006-12-04 23:54:59 +00:00
Reid Spencer b2ddc04321 Add cast creation functions for Pointer Casts, either BitCast or PtrToInt
llvm-svn: 32207
2006-12-04 23:14:27 +00:00
Chris Lattner d139ddd2e6 Add support for 64-bit 'r' constraint. Patch by by Rafael ~Avila de Espíndol!
This fixes PR1029 and Regression/CodeGen/X86/x86-64-asm.ll

llvm-svn: 32206
2006-12-04 22:38:21 +00:00
Chris Lattner 9a5a838c98 Testcase for PR1029, patch by Rafael vila de Espíndola
llvm-svn: 32205
2006-12-04 22:37:48 +00:00
Jim Laskey e4f4d048dd Restoration of the stack pointer after a deallocation of a alloca was not
updating the SP link.

llvm-svn: 32202
2006-12-04 22:04:42 +00:00
Reid Spencer a009d0d59c Separate getCompare from get and getCompareTy from getTy.
llvm-svn: 32200
2006-12-04 21:35:24 +00:00
Reid Spencer 380d99cd3e Separate the get and getTy functions for ICmp and FCmp into getCompare
and getCompareTy. Also, fix some incorrect comments.

llvm-svn: 32199
2006-12-04 21:34:17 +00:00
Reid Spencer e6328cab48 Fix comment grammaro
llvm-svn: 32198
2006-12-04 21:33:23 +00:00
Reid Spencer cee005cbf2 We only support 32-bit or 64-bit sequential type indices for GEP. Document
it as so.

llvm-svn: 32197
2006-12-04 21:29:24 +00:00
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