Jakob Stoklund Olesen [Wed, 14 Jul 2010 23:58:21 +0000 (23:58 +0000)]
Last COPY conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108387
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 23:54:43 +0000 (23:54 +0000)]
Remove restriction on NEON alignment values. Some of the NEON ld/st
instructions use different values (e.g., 2-byte or 4-byte alignment).
Also fix ARMInstPrinter to print these alignments as bits instead of bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108386
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 14 Jul 2010 23:50:27 +0000 (23:50 +0000)]
Use TargetOpcode::COPY instead of X86-native register copy instructions when
lowering atomics. This will allow those copies to still be coalesced after
TII::isMoveInstr is removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108385
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 23:49:18 +0000 (23:49 +0000)]
Remove the entire docs directory from Apple-style builds.
This fixes a "usr_junk" verification failure when installing into /usr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108384
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 23:41:58 +0000 (23:41 +0000)]
Try to get embedded build of llvmCore to pass verification.
Simplify some things in the process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108382
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Jul 2010 23:41:32 +0000 (23:41 +0000)]
80-col.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108381
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 14 Jul 2010 23:33:51 +0000 (23:33 +0000)]
Add instcombine transforms to optimize tests of multiple bits of the same value into a single larger comparison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108378
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Jul 2010 23:12:58 +0000 (23:12 +0000)]
Temporarily disable this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108371
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 14 Jul 2010 23:12:52 +0000 (23:12 +0000)]
Make it a .ll test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108370
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 23:08:16 +0000 (23:08 +0000)]
Make the order in which variables are described in debug information
independent of the order that isel happens to visit the dbg_declare
intrinsics. This fixes a bug in which the formal arguments were
being printed in reverse order, now that fast isel is going bottom up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108369
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jul 2010 23:04:59 +0000 (23:04 +0000)]
fix indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108368
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 22:41:51 +0000 (22:41 +0000)]
Remove some broken code to check the DISABLE_EDIS flag (edis is now in the
DIRS list, so it does no good to filter it from PARALLEL_DIRS), and replace
it with a check to disable building the shared library version of edis when
the flag is set. Disabling it entirely does not work because MC uses it now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108367
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Wed, 14 Jul 2010 22:38:02 +0000 (22:38 +0000)]
Don't pass StringRef by reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108366
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 14 Jul 2010 22:26:35 +0000 (22:26 +0000)]
Add a testcase for the vla and stack realignment warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108365
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 22:01:31 +0000 (22:01 +0000)]
Properly restore DebugLoc after leaving the local constant area.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108364
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 14 Jul 2010 21:22:35 +0000 (21:22 +0000)]
Tests for llvm-gcc commit 108360.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108362
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 21:12:44 +0000 (21:12 +0000)]
Just use getParent() instead of getModuleFromVal when the value is a Function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108358
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 20:57:55 +0000 (20:57 +0000)]
Rename WriteConstantInt to WriteConstantInternal, to avoid confusion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108357
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 14 Jul 2010 19:52:16 +0000 (19:52 +0000)]
Extend SimplifyCFG's common-destination folding heuristic to allow a single
"bonus" instruction to be speculatively executed. Add a heuristic to
ensure we're not tripping up out-of-order execution by checking that this bonus
instruction only uses values that were already guaranteed to be available.
This allows us to eliminate the short circuit in (x&1)&&(x&2).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108351
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 18:26:50 +0000 (18:26 +0000)]
Factor out metadata parsing into a separate function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jul 2010 18:14:33 +0000 (18:14 +0000)]
Merge lib/Target/X86/X86COFF.h into include/llvm/Support/COFF.h,
patch by Michael Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108342
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 14 Jul 2010 17:45:16 +0000 (17:45 +0000)]
Improve 64-subtraction of immediates when parts of the immediate can fit
in the literal field of an instruction. E.g.,
long long foo(long long a) {
return a - 734439407618LL;
}
rdar://
7038284
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108339
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 17:25:37 +0000 (17:25 +0000)]
Delete fast-isel's trivial load optimization; it breaks debugging because
it can look past points where a debugger might modify user variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108336
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 16:43:47 +0000 (16:43 +0000)]
Fix test to appease the buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108334
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 16:02:13 +0000 (16:02 +0000)]
Add missing address register update to t2LDM_RET instruction.
Patch by Brian Lucas. PR7636.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108332
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 14 Jul 2010 14:32:33 +0000 (14:32 +0000)]
Rather than using an ifdef on the target to zero out fields,
just use memset to zero the entire struct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108330
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Wed, 14 Jul 2010 06:58:26 +0000 (06:58 +0000)]
A couple potential optimizations inspired by comment 4 in PR6773.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108328
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jul 2010 06:44:01 +0000 (06:44 +0000)]
Fix for PR7193 was overly conservative. The only case where sibcall callee
address cannot be allocated a register is in 32-bit mode where the first
three arguments are marked inreg. In that case EAX, EDX, and ECX will be
used for argument passing.
This fixes PR7610.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108327
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 06:31:50 +0000 (06:31 +0000)]
Add support for NEON VMVN immediate instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108324
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 06:30:44 +0000 (06:30 +0000)]
The bits in the cmode field of 32-bit VMOV immediate instructions all depend
of the value of the immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108323
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jul 2010 06:16:35 +0000 (06:16 +0000)]
revert r108320, I see the failures now...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jul 2010 05:59:13 +0000 (05:59 +0000)]
reapply benjamin's instcombine patch, I don't see anything wrong with it and can't repro any problems with a manual self-host.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108320
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jul 2010 05:49:23 +0000 (05:49 +0000)]
Re-enable the test with fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jul 2010 02:21:59 +0000 (02:21 +0000)]
temporarily disable to test to fix buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108310
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jul 2010 01:57:17 +0000 (01:57 +0000)]
fix a bug found by a warning I added to clang this morning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108309
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 14 Jul 2010 01:22:19 +0000 (01:22 +0000)]
Teach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108304
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 14 Jul 2010 01:22:12 +0000 (01:22 +0000)]
Add an ARM-specific DAG combining to avoid redundant VDUPLANE nodes.
Radar
7373643.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108303
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 14 Jul 2010 01:07:44 +0000 (01:07 +0000)]
Don't propagate debug locations to instructions for materializing
constants, since they may not be emited near the other instructions
which get the same line, and this confuses debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108302
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Jul 2010 22:06:38 +0000 (22:06 +0000)]
Add AVX 256-bit compare instructions and a bunch of testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108286
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Jul 2010 21:19:08 +0000 (21:19 +0000)]
Remove vestigial decl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108278
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Jul 2010 21:19:05 +0000 (21:19 +0000)]
Print VNInfo flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108277
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Jul 2010 21:16:48 +0000 (21:16 +0000)]
Use a target-specific VMOVIMM DAG node instead of BUILD_VECTOR to represent
NEON VMOV-immediate instructions. This simplifies some things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108275
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Jul 2010 21:07:28 +0000 (21:07 +0000)]
AVX 256-bit conversion instructions
Add the x86 VEX_L form to handle special cases where VEX_L must be set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108274
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Jul 2010 21:03:14 +0000 (21:03 +0000)]
Update comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108272
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 Jul 2010 20:17:05 +0000 (20:17 +0000)]
In inline asm treat indirect 'X' constraint as 'm'.
This may not be right in all cases, but it's better
than asserting which it was doing before. PR 7528.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108268
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Tue, 13 Jul 2010 20:05:41 +0000 (20:05 +0000)]
Added a check that pusha cannot be encoded in 64-bit mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108265
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Jul 2010 19:56:28 +0000 (19:56 +0000)]
Add an assertion to make PR7542 fail consistently.
LiveInterval::overlapsFrom dereferences end() if it is called on an empty
interval.
It would be reasonable to just return false - an empty interval doesn't overlap
anything, but I want to know who is doing it first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108264
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Jul 2010 19:48:13 +0000 (19:48 +0000)]
Fix the Named Metadata example to make it clear which specific
construct is the named metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108263
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Jul 2010 19:42:44 +0000 (19:42 +0000)]
Add support for empty named metadata too. This isn't particularly
useful, but it is nice for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108262
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Jul 2010 19:42:20 +0000 (19:42 +0000)]
Fix LiveInterval::overlaps so it doesn't claim touching intervals overlap.
Also, one binary search is enough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108261
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 13 Jul 2010 19:33:27 +0000 (19:33 +0000)]
Add support for empty metadata nodes: !{}.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108259
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Jul 2010 19:27:42 +0000 (19:27 +0000)]
Extend the r107852 optimization which turns some fp compare to code sequence using only i32 operations. It now optimize some f64 compares when fp compare is exceptionally slow (e.g. cortex-a8). It also catches comparison against 0.0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108258
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Jul 2010 19:21:50 +0000 (19:21 +0000)]
Add an ARM "feature". Cortex-a8 fp comparison is very slow (> 20 cycles).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108256
91177308-0d34-0410-b5e6-
96231b3b80d8
Greg Clayton [Tue, 13 Jul 2010 18:47:09 +0000 (18:47 +0000)]
Patched Makefile.rules to allow objective C and objective C++ compilation.
This allows LLDB (llvm/tools/lldb) to build on Mac OS X.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108255
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 13 Jul 2010 18:46:14 +0000 (18:46 +0000)]
-enable-unsafe-fp-math should not imply -enable-finite-only-fp-math.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108254
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 13 Jul 2010 18:27:13 +0000 (18:27 +0000)]
Grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108252
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 13 Jul 2010 18:14:47 +0000 (18:14 +0000)]
Fix PR number.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108251
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 13 Jul 2010 17:28:05 +0000 (17:28 +0000)]
Switch from EXPECT_EQ({true,false, ...) to the more canonical
EXPECT_{TRUE,FALSE}(...) macros. This also prevents suprious warnings about
bool-to-pointer conversion that occurs withit EXPECT_EQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108248
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 13 Jul 2010 16:53:20 +0000 (16:53 +0000)]
Fix compile unit in example. Thanks Renato Golin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108246
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 13 Jul 2010 15:41:41 +0000 (15:41 +0000)]
Handle the case of a tail recursion in which the tail call is followed
by a return that returns a constant, while elsewhere in the function
another return instruction returns a different constant. This is a
special case of accumulator recursion, so just generalize the existing
logic a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108241
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 13 Jul 2010 15:31:36 +0000 (15:31 +0000)]
rotate CallInst operands
with this commit the callee moves to the end of
the operand array (from the start) and the call
arguments now start at index 0 (formerly 1)
this ordering is now consistent with InvokeInst
this commit only flips the switch,
functionally it is equivalent to
r101465
I intend to commit several cleanups after a few
days of soak period
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108240
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 13 Jul 2010 12:26:09 +0000 (12:26 +0000)]
HTML cleanup and validation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108239
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 13 Jul 2010 12:06:14 +0000 (12:06 +0000)]
When doing sext/zext of constants, the target type must be strictly
wider than the source type. Correct LangRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Jul 2010 05:52:36 +0000 (05:52 +0000)]
use a typedef instead of its expansion, patch by Michael Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108229
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 13 Jul 2010 05:50:08 +0000 (05:50 +0000)]
80-columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108228
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 13 Jul 2010 04:44:34 +0000 (04:44 +0000)]
Move NEON "modified immediate" encode/decode into ARMAddressingModes.h to
avoid replicated code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Jul 2010 04:23:55 +0000 (04:23 +0000)]
my work on adding segment registers to LEA missed the
disassembler. Remove some code from the disassembler to
compensate, unbreaking disassembly of lea's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108226
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Jul 2010 02:38:35 +0000 (02:38 +0000)]
Add AVX 256-bit packed logical forms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108224
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Jul 2010 01:53:31 +0000 (01:53 +0000)]
Add AVX 256-bit unop arithmetic instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108223
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 13 Jul 2010 00:38:47 +0000 (00:38 +0000)]
Since AVX is a superset of all SSE versions, only use HasAVX for AVX instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108222
91177308-0d34-0410-b5e6-
96231b3b80d8
Stephen Wilson [Tue, 13 Jul 2010 00:24:59 +0000 (00:24 +0000)]
Bring ELF64 on par with ELF32, add a few magic constants and support ".dynamic"
section entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108221
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 13 Jul 2010 00:23:30 +0000 (00:23 +0000)]
Don't add memory operands to storeRegToStackSlot / loadRegFromStackSlot results,
they already have one.
This fixes the himenobmtxpa miscompilation on ARM.
The PostRA scheduler got confused by the double memoperand and hoisted a stack
slot load above a store to the same slot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108219
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Mon, 12 Jul 2010 23:41:28 +0000 (23:41 +0000)]
Move some SIMD fragment code into X86InstrFragmentsSIMD so that the
utility classes can be used from multiple files. This will aid
transitioning to a new refactored x86 SIMD specification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108213
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 12 Jul 2010 23:04:15 +0000 (23:04 +0000)]
Add AVX 256 binary arithmetic instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108207
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 12 Jul 2010 22:41:32 +0000 (22:41 +0000)]
More refactoring of basic SSE arith instructions. Open room for 256-bit instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108204
91177308-0d34-0410-b5e6-
96231b3b80d8
Stephen Wilson [Mon, 12 Jul 2010 22:36:08 +0000 (22:36 +0000)]
Simple format/style fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108203
91177308-0d34-0410-b5e6-
96231b3b80d8
Stephen Wilson [Mon, 12 Jul 2010 21:34:37 +0000 (21:34 +0000)]
Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108197
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 21:23:32 +0000 (21:23 +0000)]
MC/AsmParser: Move ELF specific parser to ELFAsmParser.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108196
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 20:51:51 +0000 (20:51 +0000)]
MC/AsmParser: Move Darwin specific parse to DarwinAsmParser.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108193
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Mon, 12 Jul 2010 20:47:08 +0000 (20:47 +0000)]
Add convenience method FoldingSetImpl::InsertNode(Node *N) that asserts if the node is already inserted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108192
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 12 Jul 2010 20:46:04 +0000 (20:46 +0000)]
Apply the SSE dependence idiom for SSE unary operations to
SD instructions too, in addition to SS instructions. And
add a comment about it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108191
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 20:42:34 +0000 (20:42 +0000)]
MC/AsmParser: Move .section parsing to Darwin specific parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108190
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 20:32:33 +0000 (20:32 +0000)]
MC/AsmLexer: Raise LexUntilEndOfStatement to MCAsmLexer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108189
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 12 Jul 2010 20:27:02 +0000 (20:27 +0000)]
getOrInsertLeaderValue cannot be const because it calls insert.
Patch by Xi Wang!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108188
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 20:23:36 +0000 (20:23 +0000)]
MC/AsmParser: Move special section directive parsing to Darwin specific parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108187
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 12 Jul 2010 20:22:45 +0000 (20:22 +0000)]
Remove some code that doesn't appear to do anything. All the ARM call
instructions already have implicit defs of LR. The comment suggests that
this is intended to fix something like pr6111, but it doesn't really do
that either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108186
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 20:08:04 +0000 (20:08 +0000)]
MC/AsmParser: Add a basic ELFAsmParser extension.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108185
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 12 Jul 2010 20:06:32 +0000 (20:06 +0000)]
Add AVX 256-bit MOVMSK forms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108184
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 19:52:10 +0000 (19:52 +0000)]
MC/AsmParser: Inline AsmParser::CreateSymbol into callers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108183
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 19:37:35 +0000 (19:37 +0000)]
MC/AsmParser: Move .tbss and .zerofill parsing to Darwin specific parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108180
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 19:22:53 +0000 (19:22 +0000)]
MC/AsmParser: Move .desc parsing to Darwin specific parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108179
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 19:08:25 +0000 (19:08 +0000)]
MC/AsmParser: Move .lsym parsing to Darwin specific parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108176
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 18:49:22 +0000 (18:49 +0000)]
MC/AsmParser: Move some misc. Darwin directive handling to DarwinAsmParser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108174
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 18:35:04 +0000 (18:35 +0000)]
MCAsmParser: Add getSourceManager().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108171
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 12 Jul 2010 18:17:47 +0000 (18:17 +0000)]
Silence a warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108169
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 12 Jul 2010 18:12:35 +0000 (18:12 +0000)]
Check begin!=end, rather than !begin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108167
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 18:12:02 +0000 (18:12 +0000)]
MC/AsmParser: Add a DarwinAsmParser extension.
- Currently initialization is a bit of a hack, but harmless. We need to rework
various parts of target initialization to clean this up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108165
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 12 Jul 2010 18:11:17 +0000 (18:11 +0000)]
Fix a typo and fit in 80 columns. Found by Bob Wilson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108164
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Mon, 12 Jul 2010 18:03:11 +0000 (18:03 +0000)]
MC/AsmParser: Switch a bunch of directive parsing to use accessors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108163
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 12 Jul 2010 18:02:04 +0000 (18:02 +0000)]
Add a lint check for mismatched return types, inspired by PR6944.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108162
91177308-0d34-0410-b5e6-
96231b3b80d8