Commit Graph

16069 Commits

Author SHA1 Message Date
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
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 4d9fc5e896 Switch analysis groups to be unregistered when llvm_shutdown is called.
llvm-svn: 32110
2006-12-01 23:46:50 +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
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
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
Evan Cheng 022030a425 Add weak reference directive.
llvm-svn: 32091
2006-12-01 20:47:11 +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 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
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 845bd6e096 Fix 2005-05-08-FPStackifierPHI.ll failure.
llvm-svn: 32071
2006-12-01 10:11:51 +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 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
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
Chris Lattner 09ed0ff2ac Fix the CodeGen/PowerPC/vec_constants.ll regression.
llvm-svn: 32057
2006-12-01 01:45:39 +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 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
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
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
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
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 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