Evan Cheng
fdc732ab9a
Fix a bug in dead spill slot elimination.
...
llvm-svn: 47687
2008-02-27 19:57:11 +00:00
Dan Gohman
61377a3dc8
Add -analyze support to postdomtree.
...
llvm-svn: 47680
2008-02-27 18:38:29 +00:00
Duncan Sands
5d5bc484d0
LegalizeTypes support for INSERT_VECTOR_ELT.
...
llvm-svn: 47669
2008-02-27 10:18:23 +00:00
Evan Cheng
8ae8e2d50b
Don't track max alignment during stack object allocations since they can be deleted later. Let PEI compute it.
...
llvm-svn: 47668
2008-02-27 10:04:56 +00:00
Bill Wendling
97925ec704
Final de-tabification.
...
llvm-svn: 47663
2008-02-27 06:33:05 +00:00
Chris Lattner
6fca938971
Add path separator support, patch by Sam Bishop.
...
llvm-svn: 47662
2008-02-27 06:17:10 +00:00
Evan Cheng
6d56368caf
Spiller now remove unused spill slots.
...
llvm-svn: 47657
2008-02-27 03:04:06 +00:00
Dan Gohman
f19609abe8
Convert the last remaining users of the non-APInt form of
...
ComputeMaskedBits to use the APInt form, and remove the
non-APInt form.
llvm-svn: 47654
2008-02-27 01:23:58 +00:00
Devang Patel
5bc621c680
Add comment.
...
llvm-svn: 47653
2008-02-27 01:20:54 +00:00
Dan Gohman
ae2b6fbb8e
Convert SimplifyDemandedMask and ShrinkDemandedConstant to use APInt.
...
Change several cases in SimplifyDemandedMask that don't ever do any
simplifying to reuse the logic in ComputeMaskedBits instead of
duplicating it.
llvm-svn: 47648
2008-02-27 00:25:32 +00:00
Devang Patel
a58b1c9b6b
Remove unncessary ReturnInst constructors.
...
llvm-svn: 47633
2008-02-26 22:12:58 +00:00
Bill Wendling
d7a258d325
Rename PrintableName to Name.
...
llvm-svn: 47629
2008-02-26 21:47:57 +00:00
Anton Korobeynikov
9eeaae50ca
Update per review. Patch by Mikhail Glushenkov!
...
llvm-svn: 47628
2008-02-26 21:44:24 +00:00
Bill Wendling
c24ea4fb41
Change "Name" to "AsmName" in the target register info. Gee, a refactoring tool
...
would have been a Godsend here!
llvm-svn: 47625
2008-02-26 21:11:01 +00:00
Nick Kledzik
07b4a62234
first commit of new LTO system. It is not hooked up in the llvm/tools/Makefile, so no one will build it be default yet
...
llvm-svn: 47621
2008-02-26 20:26:43 +00:00
Devang Patel
a736c001b6
Use SmallVector while constructing ReturnInst.
...
llvm-svn: 47619
2008-02-26 19:38:17 +00:00
Devang Patel
060e79c729
Avoid const_casts
...
llvm-svn: 47616
2008-02-26 19:15:26 +00:00
Devang Patel
85e38bfb2e
Remove unnecessary getOperand/setOperand overriders.
...
Simplify getReturnValue()
llvm-svn: 47614
2008-02-26 19:08:13 +00:00
Devang Patel
c38eb52787
Unify to ReturnInst::init() member functions.
...
llvm-svn: 47611
2008-02-26 18:49:29 +00:00
Devang Patel
ae682fb940
Optimize most common case by using single RetVal in ReturnInst.
...
llvm-svn: 47607
2008-02-26 17:56:20 +00:00
Bill Wendling
293285f883
Detabify
...
llvm-svn: 47597
2008-02-26 10:49:39 +00:00
Evan Cheng
ccc0c996a4
Refactor inline asm constraint matching code out of SDIsel into TargetLowering.
...
llvm-svn: 47587
2008-02-26 02:33:44 +00:00
Devang Patel
767338ccec
Pass const vectors by reference.
...
llvm-svn: 47577
2008-02-26 00:12:13 +00:00
Eli Friedman
ad7d8edeeb
Add missing include (for ptrdiff_t).
...
llvm-svn: 47576
2008-02-25 23:35:32 +00:00
Dan Gohman
8c7a9228de
Factor the assert for indexed loads/stores out of LoadSDNode
...
and StoreSDNode into LSBaseSDNode.
llvm-svn: 47570
2008-02-25 22:16:29 +00:00
Chris Lattner
0f5a7ddc39
add an assertion to catch a null PATypeHolder, patch by Erick Tryzelaar
...
llvm-svn: 47563
2008-02-25 21:28:46 +00:00
Dan Gohman
1f372edd97
Convert MaskedValueIsZero and all its users to use APInt. Also add
...
a SignBitIsZero function to simplify a common use case.
llvm-svn: 47561
2008-02-25 21:11:39 +00:00
Chris Lattner
451aea8e81
add LSBaseSDNode::getOffset at Dan's request.
...
llvm-svn: 47558
2008-02-25 19:31:21 +00:00
Chris Lattner
8483d43749
prune #includes, fit in 80 cols.
...
llvm-svn: 47556
2008-02-25 19:21:38 +00:00
Chris Lattner
149a242743
make this self contained.
...
llvm-svn: 47555
2008-02-25 19:20:57 +00:00
Dan Gohman
6610e9ec83
Add a new method to SDNode/SDOperand named getValueSizeInBits
...
that combines getValueType and MVT::getSizeInBits, since this
occurrs frequently.
llvm-svn: 47552
2008-02-25 19:08:02 +00:00
Evan Cheng
589a9fb6dc
Correctly determine whether a argument load can be folded into its uses.
...
llvm-svn: 47545
2008-02-25 08:50:41 +00:00
Bill Wendling
a7d1ed4c98
Some platforms use the same name for 32-bit and 64-bit registers (like
...
%r3 on PPC) in their ASM files. However, it's hard for humans to read
during debugging. Adding a new field to the register data that lets you
specify a different name to be printed than the one that goes into the
ASM file -- %x3 instead of %r3, for instance.
llvm-svn: 47534
2008-02-24 00:56:13 +00:00
Scott Michel
7d5eaec6dd
Merge current work back to tree to minimize diffs and drift. Major highlights
...
for CellSPU modifications:
- SPUInstrInfo.td refactoring: "multiclass" really is _your_ friend.
- Other improvements based on refactoring effort in SPUISelLowering.cpp,
esp. in SPUISelLowering::PerformDAGCombine(), where zero amount shifts and
rotates are now eliminiated, other scalar-to-vector-to-scalar silliness
is also eliminated.
- 64-bit operations are being implemented, _muldi3.c gcc runtime now
compiles and generates the right code. More work still needs to be done.
llvm-svn: 47532
2008-02-23 18:41:37 +00:00
Devang Patel
690fcf68b1
Remove unnecessary "inline" keywords.
...
llvm-svn: 47516
2008-02-23 01:11:02 +00:00
Devang Patel
2f2ff159a5
Use dyn_cast instead of isa + cast.
...
llvm-svn: 47511
2008-02-23 00:47:00 +00:00
Evan Cheng
69876ef700
Forgot this.
...
llvm-svn: 47510
2008-02-23 00:46:11 +00:00
Devang Patel
59643e575f
To support multiple return values, now ret instruction supports multiple operands instead of one aggregate operand.
...
llvm-svn: 47508
2008-02-23 00:35:18 +00:00
Dale Johannesen
09f410b6d7
Split ParameterAttributes.h, putting the complicated
...
stuff into ParamAttrsList.h. Per feedback from
ParamAttrs changes.
llvm-svn: 47504
2008-02-22 22:17:59 +00:00
Evan Cheng
b1d1f9f0a9
Remove an invalid assertion now that there are implicit virtual register operands.
...
llvm-svn: 47493
2008-02-22 19:25:04 +00:00
Devang Patel
ac6951a0b9
Add StripDeadPrototypes pass.
...
llvm-svn: 47488
2008-02-22 18:39:29 +00:00
Dale Johannesen
eabc5f39af
Pass alignment on ByVal parameters, from FE, all
...
the way through. It is now used for codegen.
llvm-svn: 47484
2008-02-22 17:49:45 +00:00
Anton Korobeynikov
6c1c0b8b57
Add smart refcounting pointer class to ADT back (known before as IntrusiveSPtr.h).
...
llvm-svn: 47482
2008-02-22 17:26:05 +00:00
Anton Korobeynikov
622e21256e
Unbreak build for VC2008. Patch by Argiris Kirtzidis!
...
llvm-svn: 47480
2008-02-22 10:11:21 +00:00
Evan Cheng
c373911461
Enable re-materialization of instructions which have virtual register operands if
...
the definition of the operand also reaches its uses.
llvm-svn: 47475
2008-02-22 09:24:50 +00:00
Devang Patel
49cfe7018f
Read and write getresult.
...
llvm-svn: 47471
2008-02-22 02:49:49 +00:00
Chris Lattner
160742ff57
minor cleanups to LSBaseSDNode.
...
llvm-svn: 47469
2008-02-22 01:54:35 +00:00
Andrew Lenharth
7254826c40
Better names as per Evan's request
...
llvm-svn: 47435
2008-02-21 16:11:38 +00:00
Andrew Lenharth
95528943e9
Atomic op support. If any gcc test uses __sync builtins, it might start failing on archs that haven't implemented them yet
...
llvm-svn: 47430
2008-02-21 06:45:13 +00:00
Anton Korobeynikov
1872ad9888
Add convenient helper to get suffix of the file
...
llvm-svn: 47397
2008-02-20 19:41:22 +00:00