Evan Cheng [Fri, 20 Apr 2007 21:28:05 +0000 (21:28 +0000)]
Add sub-registers set accessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36282
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 20 Apr 2007 21:24:01 +0000 (21:24 +0000)]
Enable Objective-C tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36281
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Apr 2007 21:20:10 +0000 (21:20 +0000)]
Specify S registers as D registers' sub-registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36280
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Apr 2007 21:15:21 +0000 (21:15 +0000)]
Specify sub-register relations. e.g. RAX: [EAX], EAX: [AX], AX: [AL,AH].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36279
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Apr 2007 21:13:46 +0000 (21:13 +0000)]
Add sub-registers sets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36278
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Apr 2007 21:11:22 +0000 (21:11 +0000)]
Add sub-register sets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36277
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Apr 2007 20:49:25 +0000 (20:49 +0000)]
test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36276
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Apr 2007 20:46:43 +0000 (20:46 +0000)]
test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36275
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Apr 2007 20:42:36 +0000 (20:42 +0000)]
test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36274
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Apr 2007 20:18:43 +0000 (20:18 +0000)]
add a crazy idea
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36273
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 20 Apr 2007 20:04:37 +0000 (20:04 +0000)]
Avoid recursion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36272
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 20 Apr 2007 06:27:13 +0000 (06:27 +0000)]
Move more passes to using ETForest instead of DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36271
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 20 Apr 2007 05:44:16 +0000 (05:44 +0000)]
Add null checks and const-ify these accessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36270
91177308-0d34-0410-b5e6-
96231b3b80d8
Christopher Lamb [Fri, 20 Apr 2007 05:05:24 +0000 (05:05 +0000)]
Test check in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Apr 2007 04:45:58 +0000 (04:45 +0000)]
remove cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36268
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 20 Apr 2007 03:27:36 +0000 (03:27 +0000)]
Fix a very strange assertion message, patch by Christopher Lamb
CVS: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36267
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Apr 2007 00:45:36 +0000 (00:45 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36266
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 20 Apr 2007 00:33:54 +0000 (00:33 +0000)]
Make Microsoft assembler and linker happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 19 Apr 2007 18:42:38 +0000 (18:42 +0000)]
Fix a message, patch by Christopher Lamb.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36264
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Thu, 19 Apr 2007 14:09:38 +0000 (14:09 +0000)]
Fix a bug in getFrameRegister.
Reported by Raul Herbster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36262
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Thu, 19 Apr 2007 05:39:12 +0000 (05:39 +0000)]
Make use of ConstantInt::isZero instead of ConstantInt::isNullValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36261
91177308-0d34-0410-b5e6-
96231b3b80d8
Zhou Sheng [Thu, 19 Apr 2007 05:35:00 +0000 (05:35 +0000)]
Make the operations of APInt variables more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36260
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 19 Apr 2007 02:04:09 +0000 (02:04 +0000)]
Fix some VC++ warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36259
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Apr 2007 22:39:00 +0000 (22:39 +0000)]
Revert Owen's last check-in. This is breaking Mac OS X / PPC llvm-gcc bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36258
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Wed, 18 Apr 2007 17:26:14 +0000 (17:26 +0000)]
Provide link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36257
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Apr 2007 14:09:14 +0000 (14:09 +0000)]
Fix the spelling of the prefetchnta instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36256
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 06:46:57 +0000 (06:46 +0000)]
Revert changes that caused breakage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36255
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 05:43:13 +0000 (05:43 +0000)]
Switch more uses of DominatorTree over to ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36254
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 05:25:43 +0000 (05:25 +0000)]
Use ETForest instead of DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36252
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 05:25:09 +0000 (05:25 +0000)]
Add accessor to get the blocks immediately dominated by a given block to ETForest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36251
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Apr 2007 05:04:38 +0000 (05:04 +0000)]
VarInfo::UsedBlocks is no longer used. Remove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36250
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 04:55:33 +0000 (04:55 +0000)]
Use ETForest instead of DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36249
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 04:46:35 +0000 (04:46 +0000)]
Use new ETForest accessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36248
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 04:39:32 +0000 (04:39 +0000)]
Use ETForest instead of DominatorTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36247
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Apr 2007 04:38:39 +0000 (04:38 +0000)]
Add an accessor to make ETForest more useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36246
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Apr 2007 03:06:49 +0000 (03:06 +0000)]
allow SRL to simplify its operands, as it doesn't demand all bits as input.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Apr 2007 03:05:22 +0000 (03:05 +0000)]
When replacing a node in SimplifyDemandedBits, if the old node used any
single-use nodes, they will be dead soon. Make sure to remove them before
processing other nodes. This implements CodeGen/X86/shl_elim.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36244
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Apr 2007 03:04:37 +0000 (03:04 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Apr 2007 03:01:40 +0000 (03:01 +0000)]
fix a pasto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36242
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Apr 2007 02:35:10 +0000 (02:35 +0000)]
New crasher test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36241
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Apr 2007 02:30:19 +0000 (02:30 +0000)]
Don't populate TryAgainList when coalescing only physical registers with virtual registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36240
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 18 Apr 2007 01:19:55 +0000 (01:19 +0000)]
Cache DT[*SI] lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36239
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Apr 2007 00:57:22 +0000 (00:57 +0000)]
don't access argument list of prototypes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36238
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 18 Apr 2007 00:53:01 +0000 (00:53 +0000)]
Fix
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20070416/047971.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36236
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 18 Apr 2007 00:51:43 +0000 (00:51 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36235
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Apr 2007 00:43:05 +0000 (00:43 +0000)]
what's an & between friends?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36234
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Apr 2007 00:36:11 +0000 (00:36 +0000)]
Increment use count of new virtuals created during PHI elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36233
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 23:43:50 +0000 (23:43 +0000)]
Be more careful when inserting reused instructions. This fixes CodeGen/Generic/2007-04-17-lsr-crash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 23:43:31 +0000 (23:43 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36230
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Apr 2007 23:33:39 +0000 (23:33 +0000)]
Oops. Didn't mean to check in a quick hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 22:53:02 +0000 (22:53 +0000)]
Fix a bug in my previous patch, grabbing the shift amount width from the
wrong operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 22:39:58 +0000 (22:39 +0000)]
dag combiner just got better at pruning bits. This fixes CodeGen/ARM/rev.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 21:14:16 +0000 (21:14 +0000)]
Fold (x << c1)>> c2 into a single shift if the bits shifted out aren't used.
This compiles:
int baz(long long a) { return (short)(((int)(a >>24)) >> 9); }
into:
_baz:
srwi r2, r3, 1
extsh r3, r2
blr
on PPC, instead of:
_baz:
slwi r2, r3, 8
srwi r2, r2, 9
extsh r3, r2
blr
GCC produces:
_baz:
srwi r10,r4,24
insrwi r10,r3,24,0
srawi r9,r3,24
srawi r3,r10,9
extsh r3,r3
blr
This implements CodeGen/PowerPC/shl_elim.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 21:12:26 +0000 (21:12 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36220
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 17 Apr 2007 20:50:33 +0000 (20:50 +0000)]
Use // not ; since this is C.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36219
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Apr 2007 20:32:26 +0000 (20:32 +0000)]
Copy coalescing change to prevent a physical register from being pin to a
long live interval that has low usage density.
1. Change order of coalescing to join physical registers with virtual
registers first before virtual register intervals become too long.
2. Check size and usage density to determine if it's worthwhile to join.
3. If joining is aborted, assign virtual register live interval allocation
preference field to the physical register.
4. Register allocator should try to allocate to the preferred register
first (if available) to create identify moves that can be eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36218
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 17 Apr 2007 20:29:12 +0000 (20:29 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36217
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Apr 2007 20:25:11 +0000 (20:25 +0000)]
Add a register allocation preference field; add a method to compute size of a live interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36216
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Apr 2007 20:23:34 +0000 (20:23 +0000)]
Change getAllocatableSet() so it returns allocatable registers for a specific register class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36215
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Apr 2007 20:22:11 +0000 (20:22 +0000)]
Keep track of number of uses within the function per virtual register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36214
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 17 Apr 2007 19:34:00 +0000 (19:34 +0000)]
Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36213
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 19:03:21 +0000 (19:03 +0000)]
SIGN_EXTEND_INREG does not demand its top bits. Give SimplifyDemandedBits
a chance to hack on it. This compiles:
int baz(long long a) { return (short)(((int)(a >>24)) >> 9); }
into:
_baz:
slwi r2, r3, 8
srwi r2, r2, 9
extsh r3, r2
blr
instead of:
_baz:
srwi r2, r4, 24
rlwimi r2, r3, 8, 0, 23
srwi r2, r2, 9
extsh r3, r2
blr
This implements CodeGen/PowerPC/sign_ext_inreg1.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36212
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 19:03:02 +0000 (19:03 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36211
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:41:42 +0000 (18:41 +0000)]
Commit an patch from Gabor Greif in Mar 2005. This eliminates the tail
pointer from ilist, storing it in the prev pointer of the first node in the
list instead.
This shrinks ilist from 8 to 4 bytes, BasicBlock from 40->36 bytes, Function
from 76->68 bytes, Module from 52->44 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36210
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:30:41 +0000 (18:30 +0000)]
make getnext/getprev accessors private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36209
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 17 Apr 2007 18:21:36 +0000 (18:21 +0000)]
Spell doFinalization right, so that it is a proper virtual override and
gets called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:16:39 +0000 (18:16 +0000)]
make next/prev accessors private
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36207
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:15:04 +0000 (18:15 +0000)]
bool on darwin/ppc is 4 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36206
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:09:47 +0000 (18:09 +0000)]
remove use of BasicBlock::getNext
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:03:55 +0000 (18:03 +0000)]
Instruction:: Next/Prev accessors are now private
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36204
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 18:03:00 +0000 (18:03 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36203
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:54:12 +0000 (17:54 +0000)]
remove use of BasicBlock::getNext
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:52:45 +0000 (17:52 +0000)]
Remove use of Instruction::getNext
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36201
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:51:03 +0000 (17:51 +0000)]
eliminate use of Instruction::getNext()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:47:54 +0000 (17:47 +0000)]
remove use of Instruction::getNext
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36199
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:38:28 +0000 (17:38 +0000)]
eliminate use of Instruction::getPrev(). Patch by Gabor Greif in 2005.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:36:12 +0000 (17:36 +0000)]
eliminate a use of Instruction::getPrev(), patch by Gabor Greif in 2005.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36197
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 17:21:52 +0000 (17:21 +0000)]
rename X86FunctionInfo to X86MachineFunctionInfo to match the header file
it is defined in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36196
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 17 Apr 2007 09:20:00 +0000 (09:20 +0000)]
Implemented correct stack probing on mingw/cygwin for dynamic alloca's.
Also, fixed static case in presence of eax livin. This fixes PR331
PS: Why don't we still have push/pop instructions? :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36195
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 17 Apr 2007 05:48:35 +0000 (05:48 +0000)]
Make it work on 64-bit systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36194
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Tue, 17 Apr 2007 05:33:04 +0000 (05:33 +0000)]
Fix build breakage on 64-bit systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36193
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 04:31:29 +0000 (04:31 +0000)]
merge several fields in GlobalValue to use the same word, move CallingConv
field into SubclassData in Value. This shrinks GlobalVAlue from 48->40
bytes, Function from 88->76, and GlobalVariable from 76->68. This trims
4640 bytes off my testcase, reading a bc file without materializing any
functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36192
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 17 Apr 2007 04:07:59 +0000 (04:07 +0000)]
Use this nifty Constraints thing and fix the inverted conditional moves
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36191
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 17 Apr 2007 04:07:27 +0000 (04:07 +0000)]
this is fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 04:04:14 +0000 (04:04 +0000)]
The (negative) offset from a SymbolTableListTraits-using ilist to its container
object is always constant. As such, evaluate it at compile time instead of storing
it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits
ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes,
and Module from 60->52 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 03:26:42 +0000 (03:26 +0000)]
Refactor SymbolTableListTraits to only have a single pointer in it, instead
of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8
bytes (68->60). On a testcase of mine, this reduces the memory used to
read a module header from
565680b to 561024, a little over 4K.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36188
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 02:04:39 +0000 (02:04 +0000)]
urr, yeah.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36187
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 17 Apr 2007 00:17:11 +0000 (00:17 +0000)]
Remove "ModulePasses requiring FunctionPasses" from the list of future
extensions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Apr 2007 00:02:37 +0000 (00:02 +0000)]
SSE4 is apparently public now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36185
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 16 Apr 2007 23:52:37 +0000 (23:52 +0000)]
Add PR number for reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36184
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 23:32:28 +0000 (23:32 +0000)]
Make long line fit in 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36183
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 16 Apr 2007 23:03:45 +0000 (23:03 +0000)]
Fix
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20070416/047888.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36182
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 16 Apr 2007 23:02:22 +0000 (23:02 +0000)]
New test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36181
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 22:21:14 +0000 (22:21 +0000)]
Fix problems in the PartSet lowering having to do with incorrect bit width.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36180
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 22:02:23 +0000 (22:02 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36179
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 22:01:57 +0000 (22:01 +0000)]
Okay, yes there *is* a getKeyLength method on ValueName. And, it should be
used because we *do* want to allow nulls in names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36178
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Mon, 16 Apr 2007 21:59:44 +0000 (21:59 +0000)]
In the event that some really old non-Intel or -AMD CPU is encountered...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36177
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 21:57:14 +0000 (21:57 +0000)]
Fix this test from Duncan's experiment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36176
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 21:52:56 +0000 (21:52 +0000)]
Also validate that the code generation of IntrinsicLowering for LLI works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36175
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Apr 2007 21:50:40 +0000 (21:50 +0000)]
Implement @sext and @zext parameter attribute handling properly instead of
forcing every small argument of every function regardless of attributes or
calling convention to be expanded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36174
91177308-0d34-0410-b5e6-
96231b3b80d8