Commit Graph

66255 Commits

Author SHA1 Message Date
NAKAMURA Takumi 821de3d161 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 15a43965ac 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 b101af04b4 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 c16d9afe04 Add a basic testcase for TBAA-aware DSE.
llvm-svn: 117632
2010-10-29 00:54:02 +00:00
Jakob Stoklund Olesen 13d7e0d012 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 b98755472e 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 a2578fe7f3 Run a verification pass before any splitting to better distribute blame.
llvm-svn: 117629
2010-10-29 00:40:55 +00:00
Chris Lattner 5d6f6a061b 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 fc1b990b1d 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 6e0d58968d Ignore empty blocks.
llvm-svn: 117615
2010-10-28 22:11:59 +00:00
Chris Lattner d27b05e54a 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 f20f79808e 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 8aefb66376 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 327a61423b 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 1be0697ab9 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 9487de6160 move a method out of line.
llvm-svn: 117605
2010-10-28 21:28:01 +00:00
Chris Lattner 9f9f4ebf0c remove the rest of hte owningptr's, no functionality change.
llvm-svn: 117603
2010-10-28 20:52:15 +00:00
Jakob Stoklund Olesen dc5e7065a4 One day, physical register live ranges will be sensible.
llvm-svn: 117602
2010-10-28 20:44:22 +00:00
Devang Patel 9268658646 Fix indentation.
llvm-svn: 117601
2010-10-28 20:41:11 +00:00
Jakob Stoklund Olesen c9f90c2a32 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 e172a8b794 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 1005cf323d 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 47215f4e04 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 9f414eee8c Backward compatibility. Gracefully handle older versions of debug info.
llvm-svn: 117595
2010-10-28 20:08:13 +00:00
Rafael Espindola 63760ba38e Add support for the .string directive.
llvm-svn: 117592
2010-10-28 20:02:27 +00:00
Devang Patel 1c75865037 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 99811141c1 Fix indentation.
llvm-svn: 117586
2010-10-28 19:40:13 +00:00
Rafael Espindola 3c5a54e4b9 Defined weak symbols should have non-zero value.
llvm-svn: 117585
2010-10-28 19:39:57 +00:00
Mikhail Glushenkov 4b94986562 llvmc: Make ExecuteProgram() look in the driver directory first.
llvm-svn: 117584
2010-10-28 19:33:08 +00:00
Mikhail Glushenkov fdba1308ee Remove an unnecessary check and an unnecessary temporary.
llvm-svn: 117583
2010-10-28 19:33:04 +00:00
Mikhail Glushenkov d7faab5c95 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 0e9d9b51eb Trailing whitespace.
llvm-svn: 117581
2010-10-28 19:32:53 +00:00
Mikhail Glushenkov a90bee3ee8 80-col violations.
llvm-svn: 117580
2010-10-28 19:32:47 +00:00
Devang Patel 1742de5cbe Do not rely on context to find file info. It is already provided as a separate field.
llvm-svn: 117577
2010-10-28 19:14:28 +00:00
Rafael Espindola 29f70afbae Fix relocations with renamed symbols.
llvm-svn: 117575
2010-10-28 19:08:03 +00:00
Benjamin Kramer 851a994a42 Reduce malloc thrashing.
llvm-svn: 117572
2010-10-28 18:41:23 +00:00
Jim Grosbach 505607e4c6 PLD, PLDW, PLI encodings, plus refactor their use of addrmode2.
llvm-svn: 117571
2010-10-28 18:34:10 +00:00
Rafael Espindola 6cd76e63f8 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.

llvm-svn: 117570
2010-10-28 18:33:03 +00:00
Devang Patel c4b69051b7 Technically DIFile scope should also be handled here.
llvm-svn: 117563
2010-10-28 17:30:52 +00:00
Chris Lattner b24ba7be49 rearrange ParseRegisterList.
llvm-svn: 117560
2010-10-28 17:23:41 +00:00
Chris Lattner bd7c9fa36b refactor some code to simplify it, eliminating some owningptr's.
llvm-svn: 117559
2010-10-28 17:20:03 +00:00
Bob Wilson f63da12be9 Teach the DAG combiner to fold a splat of a splat. Radar 8597790.
Also do some minor refactoring to reduce indentation.

llvm-svn: 117558
2010-10-28 17:06:14 +00:00
Roman Divacky 41e6cebb40 Use the IDVal directly as there's no need to convert to std::string.
Pointed out by Chris!

llvm-svn: 117557
2010-10-28 16:57:58 +00:00
Roman Divacky fdac6365ab Implement .equ directive as a synonym to .set.
llvm-svn: 117553
2010-10-28 16:22:58 +00:00
Duncan Sands efb139130f Testcase for PR8494 (invalid bitcode crashing the bitcode reader).
llvm-svn: 117552
2010-10-28 15:57:30 +00:00
Duncan Sands 89d412a140 Fix PR8494: when reading invalid bitcode, getTypeByID may return
a null pointer.

llvm-svn: 117551
2010-10-28 15:47:26 +00:00
Rafael Espindola 936ba3af28 Implement R_X86_64_DTPOFF32.
llvm-svn: 117548
2010-10-28 15:11:03 +00:00
Rafael Espindola 2dbec3f762 Implement TLSLD.
llvm-svn: 117547
2010-10-28 15:02:40 +00:00
Rafael Espindola e8f08be11c Implement DTPOFF.
llvm-svn: 117546
2010-10-28 14:48:59 +00:00
Oscar Fuentes b1f9380cac Document LLVM_BUILD_TESTS, LLVM_INCLUDE_TESTS. New convenience target
UnitTests for building all the unit tests.

llvm-svn: 117545
2010-10-28 14:38:35 +00:00