Chris Lattner [Sun, 5 Mar 2006 23:51:47 +0000 (23:51 +0000)]
When a hazard recognizer needs noops to be inserted, do so. This represents
noops as null pointers in the instruction sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26564
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 23:50:42 +0000 (23:50 +0000)]
add an emitnoop method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 23:49:55 +0000 (23:49 +0000)]
implement TII::insertNoop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 23:49:19 +0000 (23:49 +0000)]
custom lowered nodes are legal too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 23:48:51 +0000 (23:48 +0000)]
add a hook to insert a noop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 23:13:56 +0000 (23:13 +0000)]
Implement G5HazardRecognizer as a trivial thing that wants 5 cycles between
copyfromreg nodes. Clearly useful!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 22:45:01 +0000 (22:45 +0000)]
Add basic hazard recognizer support. noop insertion isn't complete yet though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26558
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sun, 5 Mar 2006 22:21:36 +0000 (22:21 +0000)]
For transforms the behave differently if main goes away, add an option to prevent bugpoint from removing main
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26557
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 5 Mar 2006 21:43:37 +0000 (21:43 +0000)]
Fix VC++ compilation error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26554
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sun, 5 Mar 2006 21:20:20 +0000 (21:20 +0000)]
Breathe some life into a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 21:10:33 +0000 (21:10 +0000)]
Split the list scheduler into top-down and bottom-up pieces. The priority
function of the top-down scheduler are completely bogus currently, and
having (future) PPC specific in this file is also wrong, but this is a
small incremental step.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 21:08:06 +0000 (21:08 +0000)]
Add a new scheduling type. This is, of course, a hack. Proper factoring
will come later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 20:21:55 +0000 (20:21 +0000)]
Move the available queue to being inside the ListSchedule method, since it
bounds its lifetime.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26550
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 20:00:08 +0000 (20:00 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26549
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 19:53:55 +0000 (19:53 +0000)]
Reinstate this now that the offending opposite xform has been removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26548
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 19:52:57 +0000 (19:52 +0000)]
Do not fold (add (shl x, c1), (shl c2, c1)) -> (shl (add x, c2), c1),
we want to canonicalize the other way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26547
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 09:38:03 +0000 (09:38 +0000)]
print arbitrary constant pool entries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26545
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 5 Mar 2006 07:30:16 +0000 (07:30 +0000)]
Back out fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) for now.
It's causing an infinite loop compiling ldecod on x86 / Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 05:30:57 +0000 (05:30 +0000)]
Add some simple copysign folds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 05:09:38 +0000 (05:09 +0000)]
Codegen copysign[f] into a FCOPYSIGN node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 05:08:37 +0000 (05:08 +0000)]
Copysign needs to be expanded everywhere. Note that Alpha and IA64 should
implement copysign as a native op if they have it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26541
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 05:06:40 +0000 (05:06 +0000)]
Add a copysign node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26540
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 01:15:18 +0000 (01:15 +0000)]
add a note for something evan noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26539
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 00:22:33 +0000 (00:22 +0000)]
Make vector narrowing more effective, implementing
Transforms/InstCombine/vec_narrow.ll. This add support for narrowing
extract_element(insertelement) also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26538
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 5 Mar 2006 00:21:28 +0000 (00:21 +0000)]
new testcase for vector narrowing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26537
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 23:33:44 +0000 (23:33 +0000)]
Implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26536
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 23:33:26 +0000 (23:33 +0000)]
fold (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2)
fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2)
This allows us to compile CodeGen/PowerPC/addi-reassoc.ll into:
_test1:
slwi r2, r4, 4
add r2, r2, r3
lwz r3, 36(r2)
blr
_test2:
mulli r2, r4, 5
add r2, r2, r3
lbz r2, 11(r2)
extsb r3, r2
blr
instead of:
_test1:
addi r2, r4, 2
slwi r2, r2, 4
add r2, r3, r2
lwz r3, 4(r2)
blr
_test2:
addi r2, r4, 2
mulli r2, r2, 5
add r2, r3, r2
lbz r2, 1(r2)
extsb r3, r2
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26535
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 23:31:49 +0000 (23:31 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26534
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 21:48:01 +0000 (21:48 +0000)]
Fix a crash compiling Obsequi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26529
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 09:35:02 +0000 (09:35 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26525
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 09:31:13 +0000 (09:31 +0000)]
Add factoring of multiplications, e.g. turning A*A+A*B into A*(A+B).
Testcase here: Transforms/Reassociate/mulfactor.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26524
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 08:44:51 +0000 (08:44 +0000)]
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26523
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 07:53:41 +0000 (07:53 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26522
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 07:53:16 +0000 (07:53 +0000)]
Don't use invalidated iterators!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26521
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 4 Mar 2006 07:49:50 +0000 (07:49 +0000)]
Add an entry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26520
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 06:04:02 +0000 (06:04 +0000)]
Canonicalize (X+C1)*C2 -> X*C2+C1*C2
This implements Transforms/InstCombine/add.ll:test31
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26519
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 06:02:36 +0000 (06:02 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26518
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 4 Mar 2006 02:48:56 +0000 (02:48 +0000)]
MEMSET / MEMCPY lowering bugs: we can't issue a single WORD / DWORD version of
rep/stos and rep/mov if the count is not a constant. We could do
rep/stosl; and $count, 3; rep/stosb
For now, I will lower them to memset / memcpy calls. We will revisit this after
a little bit experiment.
Also need to take care of the trailing bytes even if the count is a constant.
Since the max. number of trailing bytes are 3, we will simply issue loads /
stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26517
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 4 Mar 2006 02:19:46 +0000 (02:19 +0000)]
Keep Visual Studio happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 02:06:34 +0000 (02:06 +0000)]
Be more conservative with our symbolic alias analysis. In particular,
don't assume that A[1][0] and A[0][i] can't alias. "i" might be out of
range, or even negative. This fixes a miscompilation of 188.ammp (which
does bad pointer tricks) with the new CFE.
Testcase here: Analysis/BasicAA/2006-03-03-BadArraySubscript.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 02:05:07 +0000 (02:05 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26514
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 01:19:34 +0000 (01:19 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26513
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 4 Mar 2006 01:12:00 +0000 (01:12 +0000)]
Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26512
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 00:47:12 +0000 (00:47 +0000)]
New testcase, make sure nate doesn't vanish
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26511
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 4 Mar 2006 00:02:10 +0000 (00:02 +0000)]
Spec change: the size of a memset/memcpy/memmove is not required to be aligned
to the alignment argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26510
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 3 Mar 2006 21:00:14 +0000 (21:00 +0000)]
Added support for dwarf block data entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26509
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 19:34:28 +0000 (19:34 +0000)]
Silence a warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26508
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 18:58:09 +0000 (18:58 +0000)]
Add another test case for instruction scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26507
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 16:31:22 +0000 (16:31 +0000)]
Unbreak autouprade of llvm.sqrt, simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26506
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 3 Mar 2006 15:06:57 +0000 (15:06 +0000)]
Adding basic structure support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26505
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 07:01:07 +0000 (07:01 +0000)]
Add more vector NodeTypes: VSDIV, VUDIV, VAND, VOR, and VXOR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26504
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 06:58:59 +0000 (06:58 +0000)]
Number of NodeTypes now exceeds 128.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26503
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 06:42:32 +0000 (06:42 +0000)]
SDOperand::isOperand should not be a forwarding. It must check *this against N's operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26502
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 06:24:54 +0000 (06:24 +0000)]
Added isOperand(N): true if this is an operand of N
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26501
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 06:23:43 +0000 (06:23 +0000)]
A bit more tweaking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26500
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 06:13:41 +0000 (06:13 +0000)]
Fix pasteo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26499
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 3 Mar 2006 03:25:07 +0000 (03:25 +0000)]
Fix VC++ compilation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26498
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 02:34:28 +0000 (02:34 +0000)]
remove a bunch of long-dead testing code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26497
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 02:33:15 +0000 (02:33 +0000)]
initial checkin of the intrinsic description file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 02:32:46 +0000 (02:32 +0000)]
initial implementation of intrinsic parsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26495
91177308-0d34-0410-b5e6-
96231b3b80d8
Robert Bocchino [Fri, 3 Mar 2006 02:12:04 +0000 (02:12 +0000)]
Implemented -quiet feature for analyze
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26494
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 3 Mar 2006 02:04:29 +0000 (02:04 +0000)]
Move #include "llvm/CodeGen/AsmPrinter.h" to top since it's the interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 02:04:07 +0000 (02:04 +0000)]
remove out of date comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:55:49 +0000 (01:55 +0000)]
update comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:55:26 +0000 (01:55 +0000)]
Split the valuetypes out of Target.td into ValueTypes.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:54:54 +0000 (01:54 +0000)]
pass -Illvm/include to tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26489
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:54:11 +0000 (01:54 +0000)]
Split this out of Target.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26488
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:53:40 +0000 (01:53 +0000)]
Add support for "-Ifoo" in addition to "-I foo"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:47:37 +0000 (01:47 +0000)]
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:47:14 +0000 (01:47 +0000)]
add support for multiple include directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26485
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:34:17 +0000 (01:34 +0000)]
Change this to work with renamed intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:31:12 +0000 (01:31 +0000)]
Upgrade this to use the new intrinsic names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26483
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:30:23 +0000 (01:30 +0000)]
Make this work with renamed intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 01:21:36 +0000 (01:21 +0000)]
updates for recent changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 00:34:26 +0000 (00:34 +0000)]
mention some major changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 00:19:58 +0000 (00:19 +0000)]
remove the read/write port/io intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 00:16:23 +0000 (00:16 +0000)]
Remove these testcases. These intrinsics are going away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 00:07:20 +0000 (00:07 +0000)]
Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26477
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 Mar 2006 00:00:25 +0000 (00:00 +0000)]
Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 23:59:12 +0000 (23:59 +0000)]
Simplify the autoupgrade interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26475
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 23:58:40 +0000 (23:58 +0000)]
Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.
Significantly refactor autoupgrading code, to handle the more complex case
(where we upgrade one argument in a function), and fix some bugs in it.
Testcase here: llvm/test/Regression/Bytecode/memcpy.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26474
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 23:56:23 +0000 (23:56 +0000)]
new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26473
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 22:34:38 +0000 (22:34 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26472
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Mar 2006 21:48:34 +0000 (21:48 +0000)]
Add a regression test for bug 478.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26471
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 2 Mar 2006 21:38:29 +0000 (21:38 +0000)]
- Fixed some priority calculation bugs that were causing bug 478. Among them:
a predecessor appearing more than once in the operand list was counted as
multiple predecessor; priority1 should be updated during scheduling;
CycleBound was updated after the node is inserted into priority queue; one
of the tie breaking condition was flipped.
- Take into consideration of two address opcodes. If a predecessor is a def&use
operand, it should have a higher priority.
- Scheduler should also favor floaters, i.e. nodes that do not have real
predecessors such as MOV32ri.
- The scheduling fixes / tweaks fixed bug 478:
.text
.align 4
.globl _f
_f:
movl 4(%esp), %eax
movl 8(%esp), %ecx
movl %eax, %edx
imull %ecx, %edx
imull %eax, %eax
imull %ecx, %ecx
addl %eax, %ecx
leal (%ecx,%edx,2), %eax
ret
It is also a slight performance win (1% - 3%) for most tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26470
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 06:50:58 +0000 (06:50 +0000)]
Generalize the REM folding code to handle another case Nick Lewycky
pointed out: realize the AND can provide factors and look through Casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26469
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 06:50:04 +0000 (06:50 +0000)]
add a couple more cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26468
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Mar 2006 00:21:41 +0000 (00:21 +0000)]
Fix a compilation error with GCC 4.1. Thanks to Vladimir Merzliakov for
pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26467
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 1 Mar 2006 23:52:37 +0000 (23:52 +0000)]
Support for enumerations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26466
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Mar 2006 22:45:12 +0000 (22:45 +0000)]
testcase that crashed the new CFE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26465
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Mar 2006 22:18:09 +0000 (22:18 +0000)]
Don't print llvm constant in assmebly file. Assembler won't like comments that
span multiple lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26463
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Mar 2006 22:17:00 +0000 (22:17 +0000)]
Back out my last check-in. Wrong place to fix it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26462
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 1 Mar 2006 22:00:59 +0000 (22:00 +0000)]
AsmWriter should not print LLVM constant in comment. Assembler won't like
multi-line comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26461
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Mar 2006 21:47:21 +0000 (21:47 +0000)]
Fix CodeGen/Generic/2006-03-01-dagcombineinfloop.ll, an infinite loop
in the dag combiner on 176.gcc on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26459
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Mar 2006 21:46:53 +0000 (21:46 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26458
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 1 Mar 2006 20:49:44 +0000 (20:49 +0000)]
Remove extra comma from enum list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26457
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 1 Mar 2006 20:48:20 +0000 (20:48 +0000)]
Remove comma from enum list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26456
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 1 Mar 2006 20:39:36 +0000 (20:39 +0000)]
Switch back to using actual dwarf tags. Simplifies code without loss to other
debug forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26455
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Mar 2006 19:55:35 +0000 (19:55 +0000)]
Fix a typo evan noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26454
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 1 Mar 2006 18:20:30 +0000 (18:20 +0000)]
Use context and not compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26453
91177308-0d34-0410-b5e6-
96231b3b80d8