Jakob Stoklund Olesen
e577489ba5
Never propagate the idom value out of a block that defines its own value.
...
llvm-svn: 117669
2010-10-29 17:37:25 +00:00
John Thompson
6115a7f1d4
Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support.
...
llvm-svn: 117667
2010-10-29 17:29:13 +00:00
Dan Gohman
85403d8246
Check if ErrMsg is null. This fixes the "not" command.
...
llvm-svn: 117666
2010-10-29 17:20:42 +00:00
Dan Gohman
6a889e86df
Fix these error messages to be less confusing. These error
...
messages primarily indicate errors running the viewer, not
errors with the graph file itself.
llvm-svn: 117665
2010-10-29 17:03:40 +00:00
Dan Gohman
b27988e5bd
Make Program::Wait differentiate execution failure due to the file
...
being not found from the file being not executable.
llvm-svn: 117664
2010-10-29 16:54:25 +00:00
Jim Grosbach
6f257bd31b
Revert 117660. Apparently it's not as trivial as that...
...
llvm-svn: 117663
2010-10-29 16:50:53 +00:00
Devang Patel
43516e02b6
Simplify.
...
- DIFile F = getFieldAs<DIFile>(6);
- return F.getDirectory();
+ return getFieldAs<DIFile>(6).getDirectory();
llvm-svn: 117662
2010-10-29 16:42:37 +00:00
Dan Gohman
a80b1afde3
Make Program::Wait provide an error message string for errors
...
executing the child process and abnormal child process termination.
llvm-svn: 117661
2010-10-29 16:39:01 +00:00
Jim Grosbach
8c9a2ee86e
ARM addrmode5 instructions have neither writeback nor post-indexed modes.
...
llvm-svn: 117660
2010-10-29 16:38:59 +00:00
Dan Gohman
3419ae24eb
Check for (unlikely) errors from FindExecutable.
...
llvm-svn: 117658
2010-10-29 16:18:26 +00:00
Dan Gohman
e9b4001854
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.
llvm-svn: 117657
2010-10-29 16:15:23 +00:00
Dan Gohman
90ced5a2ee
Delete this obsolete comment.
...
llvm-svn: 117655
2010-10-29 16:03:34 +00:00
Jim Grosbach
29961ebfc5
Trailing whitespace.
...
llvm-svn: 117651
2010-10-29 14:46:02 +00:00
Benjamin Kramer
f2442da5f6
ARMAsmParser: Plug a memory leak.
...
llvm-svn: 117648
2010-10-29 09:43:39 +00:00
Eric Christopher
930a767468
Add an unreachable to silence warning - the switch is actually
...
fully enumerated.
llvm-svn: 117647
2010-10-29 09:26:59 +00:00
NAKAMURA Takumi
dece5f27eb
unittests/CMakeLists.txt: Don't use RTTI, or linking failed.
...
llvm-svn: 117646
2010-10-29 08:59:43 +00:00
Bill Wendling
d9412db2c8
This may be an ARM target, so check for _Unwind_SjLj_Resume.
...
llvm-svn: 117643
2010-10-29 07:46:01 +00:00
NAKAMURA Takumi
a1491c3c47
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.
llvm-svn: 117637
2010-10-29 01:14:16 +00:00
Dan Gohman
753c9ce807
Teach memdep to use pointsToConstantMemory to determine that loads
...
from constant memory don't alias any stores.
llvm-svn: 117636
2010-10-29 01:14:04 +00:00
Owen Anderson
9930e7bcb6
Convert this test to a .s file, so that it's not sensitive to codegen changes.
...
llvm-svn: 117633
2010-10-29 01:01:56 +00:00
Dan Gohman
a592a0f539
Add a basic testcase for TBAA-aware DSE.
...
llvm-svn: 117632
2010-10-29 00:54:02 +00:00
Jakob Stoklund Olesen
b7a4b7a7b0
Fix broken equivalence class calculation. We could probably also use
...
EquvivalenceClasses.h except it looks like overkill when elements are continuous
integers.
llvm-svn: 117631
2010-10-29 00:40:59 +00:00
Jakob Stoklund Olesen
1210a5145a
Print out the connected components in the verifier after complaining about their
...
multiplicity.
llvm-svn: 117630
2010-10-29 00:40:57 +00:00
Jakob Stoklund Olesen
e446520687
Run a verification pass before any splitting to better distribute blame.
...
llvm-svn: 117629
2010-10-29 00:40:55 +00:00
Chris Lattner
115cd02d22
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.
llvm-svn: 117626
2010-10-29 00:27:31 +00:00
Andrew Trick
e77cdffcf3
The ARM jit cannot handle these tests as of 2010-10-27.
...
(A PR will be linked to this rev.)
llvm-svn: 117620
2010-10-29 00:23:43 +00:00
Devang Patel
bf9c3c8947
Ignore empty blocks.
...
llvm-svn: 117615
2010-10-28 22:11:59 +00:00
Chris Lattner
ef237e6013
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]
^
llvm-svn: 117611
2010-10-28 21:41:58 +00:00
Chris Lattner
ba1e908431
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.
llvm-svn: 117609
2010-10-28 21:37:33 +00:00
Rafael Espindola
913ce7ebc8
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.
llvm-svn: 117608
2010-10-28 21:33:33 +00:00
Chris Lattner
1917294eb5
most simple arm instructions match correctly now,
...
it looks like we're not handling [] operands though
llvm-svn: 117607
2010-10-28 21:31:07 +00:00
Chris Lattner
bd838d16e5
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.
llvm-svn: 117606
2010-10-28 21:28:42 +00:00
Chris Lattner
4210ffb9c5
move a method out of line.
...
llvm-svn: 117605
2010-10-28 21:28:01 +00:00
Chris Lattner
b6c7a9e204
remove the rest of hte owningptr's, no functionality change.
...
llvm-svn: 117603
2010-10-28 20:52:15 +00:00
Jakob Stoklund Olesen
c570151dc2
One day, physical register live ranges will be sensible.
...
llvm-svn: 117602
2010-10-28 20:44:22 +00:00
Devang Patel
c40ecb9302
Fix indentation.
...
llvm-svn: 117601
2010-10-28 20:41:11 +00:00
Jakob Stoklund Olesen
ccbfbefd93
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.
llvm-svn: 117599
2010-10-28 20:34:52 +00:00
Jakob Stoklund Olesen
6f4262448e
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.
llvm-svn: 117598
2010-10-28 20:34:50 +00:00
Jakob Stoklund Olesen
35f9c58245
Add a temporary command line option to verify machine code after each spill or
...
split.
llvm-svn: 117597
2010-10-28 20:34:47 +00:00
Dan Gohman
d512ed689c
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.)
llvm-svn: 117596
2010-10-28 20:34:33 +00:00
Devang Patel
504232300c
Backward compatibility. Gracefully handle older versions of debug info.
...
llvm-svn: 117595
2010-10-28 20:08:13 +00:00
Rafael Espindola
b562975139
Add support for the .string directive.
...
llvm-svn: 117592
2010-10-28 20:02:27 +00:00
Devang Patel
a496603faf
Do not work too hard to find type's file info. There is a special field to record file info.
...
llvm-svn: 117588
2010-10-28 19:50:08 +00:00
Devang Patel
552a3a845c
Fix indentation.
...
llvm-svn: 117586
2010-10-28 19:40:13 +00:00
Rafael Espindola
f230319275
Defined weak symbols should have non-zero value.
...
llvm-svn: 117585
2010-10-28 19:39:57 +00:00
Mikhail Glushenkov
8988adb7db
llvmc: Make ExecuteProgram() look in the driver directory first.
...
llvm-svn: 117584
2010-10-28 19:33:08 +00:00
Mikhail Glushenkov
7ee0f678cb
Remove an unnecessary check and an unnecessary temporary.
...
llvm-svn: 117583
2010-10-28 19:33:04 +00:00
Mikhail Glushenkov
b727c53cff
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).
llvm-svn: 117582
2010-10-28 19:32:58 +00:00
Mikhail Glushenkov
e2c628c84f
Trailing whitespace.
...
llvm-svn: 117581
2010-10-28 19:32:53 +00:00
Mikhail Glushenkov
6aa7a4c180
80-col violations.
...
llvm-svn: 117580
2010-10-28 19:32:47 +00:00