Owen Anderson [Fri, 29 Oct 2010 19:09:08 +0000 (19:09 +0000)]
Convert this test to .s form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117685
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 19:05:26 +0000 (19:05 +0000)]
Covert this test to .s form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117684
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 18:58:30 +0000 (18:58 +0000)]
Convert this test to .s form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117683
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 18:48:59 +0000 (18:48 +0000)]
Convert this test to .s form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117682
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 18:41:40 +0000 (18:41 +0000)]
Convert this file to less fragile .s form.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117681
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 18:31:26 +0000 (18:31 +0000)]
Replace this test with the less fragile .s version. Still XFAIL'd, since the ASM parser doesn't parse vabal yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117679
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 18:21:18 +0000 (18:21 +0000)]
Fix sign error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117677
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 18:18:40 +0000 (18:18 +0000)]
Covert this test to a .s file to reduce fragility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117676
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 29 Oct 2010 18:09:28 +0000 (18:09 +0000)]
Avoiding overly aggressive latency scheduling. If the two nodes share an
operand and one of them has a single use that is a live out copy, favor the
one that is live out. Otherwise it will be difficult to eliminate the copy
if the instruction is a loop induction variable update. e.g.
BB:
sub r1, r3, #1
str r0, [r2, r3]
mov r3, r1
cmp
bne BB
=>
BB:
str r0, [r2, r3]
sub r3, r3, #1
cmp
bne BB
This fixed the recent 256.bzip2 regression.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117675
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 29 Oct 2010 18:07:31 +0000 (18:07 +0000)]
- Don't schedule nodes with only MVT::Flag and MVT::Other values for latency.
- Compute CopyToReg use operand latency correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117674
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 17:47:49 +0000 (17:47 +0000)]
Don't transfer unused values to the new intervals formed by splitting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117673
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 29 Oct 2010 17:41:25 +0000 (17:41 +0000)]
Handle ARM addrmode5 instructions with an offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117672
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 29 Oct 2010 17:40:05 +0000 (17:40 +0000)]
Silence Release build warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117671
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 17:37:29 +0000 (17:37 +0000)]
Teach ConnectedVNInfoEqClasses::Classify to deal with unused values.
We don't want unused values forming their own equivalence classes, so we lump
them all together in one class, and then merge them with the class of the last
used value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117670
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 17:37:25 +0000 (17:37 +0000)]
Never propagate the idom value out of a block that defines its own value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117669
91177308-0d34-0410-b5e6-
96231b3b80d8
John Thompson [Fri, 29 Oct 2010 17:29:13 +0000 (17:29 +0000)]
Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117667
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 17:20:42 +0000 (17:20 +0000)]
Check if ErrMsg is null. This fixes the "not" command.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117666
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 17:03:40 +0000 (17:03 +0000)]
Fix these error messages to be less confusing. These error
messages primarily indicate errors running the viewer, not
errors with the graph file itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117665
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 16:54:25 +0000 (16:54 +0000)]
Make Program::Wait differentiate execution failure due to the file
being not found from the file being not executable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117664
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 29 Oct 2010 16:50:53 +0000 (16:50 +0000)]
Revert 117660. Apparently it's not as trivial as that...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117663
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 29 Oct 2010 16:42:37 +0000 (16:42 +0000)]
Simplify.
- DIFile F = getFieldAs<DIFile>(6);
- return F.getDirectory();
+ return getFieldAs<DIFile>(6).getDirectory();
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117662
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 16:39:01 +0000 (16:39 +0000)]
Make Program::Wait provide an error message string for errors
executing the child process and abnormal child process termination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117661
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 29 Oct 2010 16:38:59 +0000 (16:38 +0000)]
ARM addrmode5 instructions have neither writeback nor post-indexed modes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117660
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 16:18:26 +0000 (16:18 +0000)]
Check for (unlikely) errors from FindExecutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117658
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 16:15:23 +0000 (16:15 +0000)]
Fix these error messages to not mention PATH in cases where
PATH isn't actually searched, and to not mention the executable
directory when it isn't actually searched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117657
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 16:03:34 +0000 (16:03 +0000)]
Delete this obsolete comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117655
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 29 Oct 2010 14:46:02 +0000 (14:46 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117651
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 29 Oct 2010 09:43:39 +0000 (09:43 +0000)]
ARMAsmParser: Plug a memory leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117648
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 29 Oct 2010 09:26:59 +0000 (09:26 +0000)]
Add an unreachable to silence warning - the switch is actually
fully enumerated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117647
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 29 Oct 2010 08:59:43 +0000 (08:59 +0000)]
unittests/CMakeLists.txt: Don't use RTTI, or linking failed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117646
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 29 Oct 2010 07:46:01 +0000 (07:46 +0000)]
This may be an ARM target, so check for _Unwind_SjLj_Resume.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117643
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 29 Oct 2010 01:14:16 +0000 (01:14 +0000)]
test/Scripts/macho-dump: Make hack for Python-2.4. [PR7995]
With Python-2.4, Reader::read64 always returns (unexpected) long integer.
FileCheck detects failure on test/MC/MachO among '0' and '0L'.
CentOS5(aka RHEL5 clone) provides python-2.4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117637
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 01:14:04 +0000 (01:14 +0000)]
Teach memdep to use pointsToConstantMemory to determine that loads
from constant memory don't alias any stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117636
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 29 Oct 2010 01:01:56 +0000 (01:01 +0000)]
Convert this test to a .s file, so that it's not sensitive to codegen changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117633
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 29 Oct 2010 00:54:02 +0000 (00:54 +0000)]
Add a basic testcase for TBAA-aware DSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117632
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 00:40:59 +0000 (00:40 +0000)]
Fix broken equivalence class calculation. We could probably also use
EquvivalenceClasses.h except it looks like overkill when elements are continuous
integers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117631
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 00:40:57 +0000 (00:40 +0000)]
Print out the connected components in the verifier after complaining about their
multiplicity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117630
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Fri, 29 Oct 2010 00:40:55 +0000 (00:40 +0000)]
Run a verification pass before any splitting to better distribute blame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 29 Oct 2010 00:27:31 +0000 (00:27 +0000)]
add simple support for addrmode5 operands, allowing
vldr.64 to work. I have no idea if this is fully right, but
it is in the right direction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117626
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 29 Oct 2010 00:23:43 +0000 (00:23 +0000)]
The ARM jit cannot handle these tests as of 2010-10-27.
(A PR will be linked to this rev.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117620
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 22:11:59 +0000 (22:11 +0000)]
Ignore empty blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117615
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 21:41:58 +0000 (21:41 +0000)]
give better error diagnostics, for example:
t.s:1:14: error: invalid operand for instruction
vldr.64 d17, [r0]
^
instead of:
t.s:1:1: error: unrecognized instruction
vldr.64 d17, [r0]
^
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 21:37:33 +0000 (21:37 +0000)]
hook up getOpcodeName for ARM so that "llc -show-mc-inst" includes
the opcode string in the inst dump, e.g.:
vmov r2, r3, d17 @ encoding: [0x31,0x2b,0x53,0xec]
@ <MCInst #989 VMOVRRD
@ <MCOperand Reg:68>
@ <MCOperand Reg:69>
@ <MCOperand Reg:19>
@ <MCOperand Imm:14>
@ <MCOperand Reg:0>>
The "VMOVRRD" is new.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117609
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 21:33:33 +0000 (21:33 +0000)]
Improvements to .section parsing:
* If we have a M or a G, reject sections without the type
* Only parse the flag specific arguments if we have M or G
* Parse the corresponding arguments for M and G
We ignore the G arguments and flag for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117608
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 21:31:07 +0000 (21:31 +0000)]
most simple arm instructions match correctly now,
it looks like we're not handling [] operands though
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 21:28:42 +0000 (21:28 +0000)]
fix the asmmatcher generator to handle targets with no RegisterPrefix
(like ARM) correctly. With this change, we can now match "bx lr"
because we recognize lr as a register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117606
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 21:28:01 +0000 (21:28 +0000)]
move a method out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 20:52:15 +0000 (20:52 +0000)]
remove the rest of hte owningptr's, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117603
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 28 Oct 2010 20:44:22 +0000 (20:44 +0000)]
One day, physical register live ranges will be sensible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117602
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 20:41:11 +0000 (20:41 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117601
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 28 Oct 2010 20:34:52 +0000 (20:34 +0000)]
Replace SplitKit SSA update with an iterative algorithm very similar to the one
in SSAUpdaterImpl.h
Verifying live intervals revealed that the old method was completely wrong, and
we need an iterative approach to calculating PHI placemant. Fortunately, we have
MachineDominators available, so we don't have to compute that over and over
like SSAUpdaterImpl.h must.
Live-out values are cached between calls to mapValue() and computed in a greedy
way, so most calls will be working with very small block sets.
Thanks to Bob for explaining how this should work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117599
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 28 Oct 2010 20:34:50 +0000 (20:34 +0000)]
Make MachineDominators available for SplitEditor. We are going to need it for
proper SSA updating.
This doesn't cause MachineDominators to be recomputed since we are already
requiring MachineLoopInfo which uses dominators as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117598
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 28 Oct 2010 20:34:47 +0000 (20:34 +0000)]
Add a temporary command line option to verify machine code after each spill or
split.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117597
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 28 Oct 2010 20:34:33 +0000 (20:34 +0000)]
Revert r117582, which reverted r77396. Searching PATH for a string
which contains slashes is inconsistent with the meaning of PATH on
Unix-type platforms, and pretty surprising.
If the user has given a specific path to execute and we can't
execute it, we should fail and say why. (Apparently the new
posix_spawn code doesn't always say why, but that's a separate
issue.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117596
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 20:08:13 +0000 (20:08 +0000)]
Backward compatibility. Gracefully handle older versions of debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117595
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 20:02:27 +0000 (20:02 +0000)]
Add support for the .string directive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117592
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 19:50:08 +0000 (19:50 +0000)]
Do not work too hard to find type's file info. There is a special field to record file info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117588
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 19:40:13 +0000 (19:40 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117586
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 19:39:57 +0000 (19:39 +0000)]
Defined weak symbols should have non-zero value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117585
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 28 Oct 2010 19:33:08 +0000 (19:33 +0000)]
llvmc: Make ExecuteProgram() look in the driver directory first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117584
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 28 Oct 2010 19:33:04 +0000 (19:33 +0000)]
Remove an unnecessary check and an unnecessary temporary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117583
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 28 Oct 2010 19:32:58 +0000 (19:32 +0000)]
Revert r77396.
Original commit message:
On "Unix", if Program::FindProgramByName is given a name containing
slashes, just go with it, regardless of whether it looks like it will
be executable. This follows the behavior of sh(1) more closely.
It's better when behaviour is consistent between platforms. This change also
makes FindExecutable() behave as expected on unix-likes (before this commit, it
used to always succeed).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117582
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 28 Oct 2010 19:32:53 +0000 (19:32 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117581
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 28 Oct 2010 19:32:47 +0000 (19:32 +0000)]
80-col violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117580
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 19:14:28 +0000 (19:14 +0000)]
Do not rely on context to find file info. It is already provided as a separate field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117577
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 19:08:03 +0000 (19:08 +0000)]
Fix relocations with renamed symbols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117575
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 28 Oct 2010 18:41:23 +0000 (18:41 +0000)]
Reduce malloc thrashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117572
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 28 Oct 2010 18:34:10 +0000 (18:34 +0000)]
PLD, PLDW, PLI encodings, plus refactor their use of addrmode2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117571
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 18:33:03 +0000 (18:33 +0000)]
Aliases defined with .symver should copy the binding of the symbols they alias.
Move the existing patching for undefined symbols so that all the patching
is done in the same function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117570
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 28 Oct 2010 17:30:52 +0000 (17:30 +0000)]
Technically DIFile scope should also be handled here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 17:23:41 +0000 (17:23 +0000)]
rearrange ParseRegisterList.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 17:20:03 +0000 (17:20 +0000)]
refactor some code to simplify it, eliminating some owningptr's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117559
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 28 Oct 2010 17:06:14 +0000 (17:06 +0000)]
Teach the DAG combiner to fold a splat of a splat. Radar
8597790.
Also do some minor refactoring to reduce indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117558
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Thu, 28 Oct 2010 16:57:58 +0000 (16:57 +0000)]
Use the IDVal directly as there's no need to convert to std::string.
Pointed out by Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117557
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Thu, 28 Oct 2010 16:22:58 +0000 (16:22 +0000)]
Implement .equ directive as a synonym to .set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117553
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 28 Oct 2010 15:57:30 +0000 (15:57 +0000)]
Testcase for PR8494 (invalid bitcode crashing the bitcode reader).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117552
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 28 Oct 2010 15:47:26 +0000 (15:47 +0000)]
Fix PR8494: when reading invalid bitcode, getTypeByID may return
a null pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117551
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 15:11:03 +0000 (15:11 +0000)]
Implement R_X86_64_DTPOFF32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117548
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 15:02:40 +0000 (15:02 +0000)]
Implement TLSLD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117547
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 14:48:59 +0000 (14:48 +0000)]
Implement DTPOFF.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117546
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Thu, 28 Oct 2010 14:38:35 +0000 (14:38 +0000)]
Document LLVM_BUILD_TESTS, LLVM_INCLUDE_TESTS. New convenience target
UnitTests for building all the unit tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117545
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 14:37:09 +0000 (14:37 +0000)]
Implement TLSLDM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117544
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 28 Oct 2010 14:22:44 +0000 (14:22 +0000)]
Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117543
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 28 Oct 2010 08:25:44 +0000 (08:25 +0000)]
Reindent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117538
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 28 Oct 2010 06:47:08 +0000 (06:47 +0000)]
Re-commit 117518 and 117519 now that ARM MC test failures are out of the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117531
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 28 Oct 2010 06:46:17 +0000 (06:46 +0000)]
Disable most of the ARM vfp / NEON MC tests. These are too fragile to be useful.
I'll work with Jim, Owen, and Bill on an alternative testing strategy until
the assembly parser is available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117530
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 28 Oct 2010 06:46:04 +0000 (06:46 +0000)]
test/Transforms/SimplifyLibCalls/floor.ll: Mark as XFAIL:win32 due to lack of nearbyintf on MSVC. [PR8466]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117529
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 28 Oct 2010 06:45:57 +0000 (06:45 +0000)]
tools/llvm-shlib/Makefile: Support for FreeBSD and OpenBSD.
Thanks to Yuri Gribov and Vladimir Kirillov!
*BSD(s) have environ(7) in CRT startup and cannot resolve "environ" at linking llvm.so.
environ(7) is used inlib/System/Unix/Program.inc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117528
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 28 Oct 2010 02:22:02 +0000 (02:22 +0000)]
clarify that not having the ".o file writing" feature
doesn't mean that you can't get a .o file. Apparently
this is confusing :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117523
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 28 Oct 2010 02:00:25 +0000 (02:00 +0000)]
Revert 117518 and 117519 for now. They changed scheduling and cause MC tests to fail. Ugh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117520
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 28 Oct 2010 01:49:06 +0000 (01:49 +0000)]
- Assign load / store with shifter op address modes the right itinerary classes.
- For now, loads of [r, r] addressing mode is the same as the
[r, r lsl/lsr/asr #] variants. ARMBaseInstrInfo::getOperandLatency() should
identify the former case and reduce the output latency by 1.
- Also identify [r, r << 2] case. This special form of shifter addressing mode
is "free".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117519
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 28 Oct 2010 01:46:29 +0000 (01:46 +0000)]
Fix a major bug in operand latency computation. The use index must be adjusted
by the number of defs first for it to match the instruction itinerary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117518
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 28 Oct 2010 00:35:54 +0000 (00:35 +0000)]
Fix pastos in handling of AVX cvttsd2si, PR8491.
Bruno, please review, but I'm pretty sure this is right.
Patch by Alex Mac!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117514
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 28 Oct 2010 00:18:46 +0000 (00:18 +0000)]
Add correct NEON encodings for vtbl and vtbx.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117513
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 27 Oct 2010 23:56:39 +0000 (23:56 +0000)]
Add correct NEON encodings for vext, vtrn, vuzp, and vzip.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117512
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 27 Oct 2010 23:49:00 +0000 (23:49 +0000)]
Fix compiler warnings about signed/unsigned comparisons.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117511
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 27 Oct 2010 23:45:18 +0000 (23:45 +0000)]
Teach InstCombine not to use Add and Neg on FP. PR 8490.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117510
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 27 Oct 2010 23:41:30 +0000 (23:41 +0000)]
Shifter ops are not always free. Do not fold them (especially to form
complex load / store addressing mode) when they have higher cost and
when they have more than one use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117509
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 27 Oct 2010 23:17:17 +0000 (23:17 +0000)]
Putting r117193 back except for the compile time cost. Rather than assuming fallthroughs uses all registers, just gather the union of all successor liveins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117506
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 27 Oct 2010 23:12:14 +0000 (23:12 +0000)]
Refactor ARM STR/STRB instruction patterns into STR{B}i12 and STR{B}rs, like
the LDR instructions have. This makes the literal/register forms of the
instructions explicit and allows us to assign scheduling itineraries
appropriately. rdar://
8477752
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117505
91177308-0d34-0410-b5e6-
96231b3b80d8