Dan Gohman
2830741866
Remove an unused variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51807 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 01:44:25 +00:00
Dan Gohman
81a0c0b44e
IR, bitcode reader, bitcode writer, and asmparser changes to
...
insertvalue and extractvalue to use constant indices instead of
Value* indices. And begin updating LangRef.html.
There's definately more to come here, but I'm checking this
basic support in now to make it available to people who are
interested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-31 00:58:22 +00:00
Evan Cheng
7645e574d2
Fix indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51793 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 22:39:32 +00:00
Evan Cheng
89df08c8a0
Fix indentation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51792 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 22:39:18 +00:00
Owen Anderson
dbb8137c11
The coalescer doesn't need LiveVariables now that we have register use iterators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51790 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 22:37:27 +00:00
Gabor Greif
ba2c487424
rewrite operand loops to use iterators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51789 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 21:24:22 +00:00
Owen Anderson
3947e4d142
Preserve the register coallescer, and update live intervals more correctly by triggering a renumbering after phi elimination.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51780 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 18:38:26 +00:00
Owen Anderson
427de86ada
Since LCSSA switched over to DenseMap, we have to be more careful to avoid iterator invalidation. Fixes PR2385.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51777 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 17:31:01 +00:00
Matthijs Kooijman
33540adca5
Give a proper error message when a command line option is defined more than
...
once (ie, at two different places in the source, not two times on the
commandline).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51771 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 13:26:11 +00:00
Matthijs Kooijman
494661c623
Use eraseFromParent() instead of doing that manually in two places.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51770 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 12:35:46 +00:00
Matthijs Kooijman
74b5e07cc4
Let Instruction::getOpcodeName() return something useful for the new
...
insertvalue / extractvalue instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51766 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 10:31:54 +00:00
Bill Wendling
37a6134165
Add the "AsCheapAsAMove" flag to some 64-bit xor instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51761 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 06:47:04 +00:00
Dan Gohman
493e03851d
Remove an unused variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 00:56:36 +00:00
Dan Gohman
5bd91232c3
Fix a typo in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51718 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 00:08:18 +00:00
Dan Gohman
5a56bf631e
Fix a copy+paste error in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51717 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-30 00:02:02 +00:00
Owen Anderson
7eec0c2433
Make the renumbering correct in the face of deleted instructions that have been removed from the LiveIntervals maps.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51714 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 23:01:22 +00:00
Bill Wendling
6445537c84
Unbreak build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51709 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 22:02:08 +00:00
Dan Gohman
b4106170dd
Add patterns for CALL32m and CALL64m. They aren't matched in most
...
cases due to an isel deficiency already noted in
lib/Target/X86/README.txt, but they can be matched in this fold-call.ll
testcase, for example.
This is interesting mainly because it exposes a tricky tblgen bug;
tblgen was incorrectly computing the starting index for variable_ops
in the case of a complex pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51706 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 21:50:34 +00:00
Bill Wendling
eecfa369eb
Remove more iostream header includes. Needed to implement a "FlushStream"
...
function to flush a specified std::ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51705 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 21:46:33 +00:00
Bill Wendling
ec58498dc9
Remove <iostream>.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51704 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 21:29:39 +00:00
Owen Anderson
9491195710
Add newline at end of file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51701 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 21:05:16 +00:00
Dan Gohman
d35121ad00
Fix a tblgen problem handling variable_ops in tblgen instruction
...
definitions. This adds a new construct, "discard", for indicating
that a named node in the input matching pattern is to be discarded,
instead of corresponding to a node in the output pattern. This
allows tblgen to know where the arguments for the varaible_ops are
supposed to begin.
This fixes "rdar://5791600", whatever that is ;-).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51699 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 19:57:41 +00:00
Dan Gohman
b99e2e20b2
const-ify getOpcode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51698 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 19:53:46 +00:00
Dan Gohman
21323f3a82
Expand small memmovs using inline code. Set the X86 threshold for expanding
...
memmove to a more plausible value, now that it's actually being used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51696 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 19:42:22 +00:00
Owen Anderson
fcc6350ac9
Revert part of my last patch that I didn't intend to commit yet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51694 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 18:35:21 +00:00
Owen Anderson
4b5b209679
Renumbering needs to account for instruction slot offsets when performing lookups in the index maps.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51691 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 18:15:49 +00:00
Owen Anderson
5771d6c16d
Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51686 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 17:00:13 +00:00
Duncan Sands
a806a87e29
Add a newline at the end of this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51680 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 14:38:23 +00:00
Owen Anderson
038a8746c9
Replace the old ADCE implementation with a new one that more simply solves
...
the one case that ADCE catches that normal DCE doesn't: non-induction variable
loop computations.
This implementation handles this problem without using postdominators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51668 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 08:45:13 +00:00
Evan Cheng
f26ffe987c
Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51667 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 08:22:04 +00:00
Owen Anderson
cd5e6dda7e
Remove debugging code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51666 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 08:15:48 +00:00
Bill Wendling
75cf88f1fe
XOR?RI instructions aren't as cheap as moves.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51664 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 03:46:36 +00:00
Gabor Greif
5e46321d66
convert more operand loops to iterator formulation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 01:59:18 +00:00
Bill Wendling
bd0879d7d9
Implement "AsCheapAsAMove" for some obviously cheap instructions: xor and the
...
like.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51662 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 01:02:09 +00:00
Gabor Greif
3e93e630aa
convert another operand loop to iterator formulation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51661 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-29 00:51:08 +00:00
Bill Wendling
8370d38ade
Add a flag to indicate that an instruction is as cheap (or cheaper) than a move
...
instruction to execute. This can be used for transformations (like two-address
conversion) to remat an instruction instead of generating a "move"
instruction. The idea is to decrease the live ranges and register pressure and
all that jazz.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51660 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 22:54:52 +00:00
Bill Wendling
a8db14796b
Check the "isSafeToMove" predicate, which has a series of tests to make sure
...
that it's safe to remat an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51659 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 22:52:47 +00:00
Owen Anderson
745825f431
Remap VNInfo data as well when doing renumbering.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51658 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 22:40:08 +00:00
Owen Anderson
80b3ce65e2
Factor the numbering computation into a separate method, and add the slightest attempt at some renumbering logic, which is currently unused.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51652 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 20:54:50 +00:00
Evan Cheng
d77d4f98fb
Fix PR2289: vr defined by multiple implicit_def as result of coalescing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51648 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 17:40:10 +00:00
Evan Cheng
33d3d4ad40
Teach local register allocator to deal with landing pad MBB's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51647 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 17:22:32 +00:00
Nate Begeman
73e4d594e7
Update some comments noticed in a recent checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51644 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 16:31:36 +00:00
Chris Lattner
a935db8ea2
Implement PR2370: memmove(x,x,size) -> noop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51636 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 05:30:41 +00:00
Chris Lattner
e5ab3355ba
Add chain inputs for loads.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51635 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 04:25:57 +00:00
Chris Lattner
3f1891ca6d
Fix CodeGen/Generic/2005-10-21-longlonggtu.ll on ia64.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51634 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 04:14:30 +00:00
Chris Lattner
b0349bfe72
loads should get chains. THis helps but does not solve CodeGen/Generic/2003-05-27-phifcmpd.ll
...
on ia64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51633 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 04:06:52 +00:00
Chris Lattner
9b07d3d378
Fix 2006-04-28-Sign-extend-bool.ll for ia64.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51632 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 04:00:06 +00:00
Chris Lattner
aec8d823fb
reindent.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51631 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 03:59:32 +00:00
Dan Gohman
c2ecdc5a26
Fix the encoding for two more "rm" instructions that were using MRMSrcReg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51630 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 01:50:19 +00:00
Mon P Wang
bfbbd4d221
Fixed X86 encoding error CVTPS2PD and CVTPD2PS when the source operand
...
is a memory location
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51626 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-28 00:42:27 +00:00