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
Devang Patel
dcabf6f76a
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
862d688cbd
Fix relocations with renamed symbols.
...
llvm-svn: 117575
2010-10-28 19:08:03 +00:00
Benjamin Kramer
fbfb8cf5f8
Reduce malloc thrashing.
...
llvm-svn: 117572
2010-10-28 18:41:23 +00:00
Jim Grosbach
d02c1c7d77
PLD, PLDW, PLI encodings, plus refactor their use of addrmode2.
...
llvm-svn: 117571
2010-10-28 18:34:10 +00:00
Rafael Espindola
e62cf892ae
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
0e43a2d84f
Technically DIFile scope should also be handled here.
...
llvm-svn: 117563
2010-10-28 17:30:52 +00:00
Chris Lattner
0a21ad2553
rearrange ParseRegisterList.
...
llvm-svn: 117560
2010-10-28 17:23:41 +00:00
Chris Lattner
a9c0f00f10
refactor some code to simplify it, eliminating some owningptr's.
...
llvm-svn: 117559
2010-10-28 17:20:03 +00:00
Bob Wilson
65124cd7c7
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
2aedee6ff2
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
8555f153e9
Implement .equ directive as a synonym to .set.
...
llvm-svn: 117553
2010-10-28 16:22:58 +00:00
Duncan Sands
60f016b0f9
Testcase for PR8494 (invalid bitcode crashing the bitcode reader).
...
llvm-svn: 117552
2010-10-28 15:57:30 +00:00
Duncan Sands
eccf0b18a5
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
ff7e4e4e43
Implement R_X86_64_DTPOFF32.
...
llvm-svn: 117548
2010-10-28 15:11:03 +00:00
Rafael Espindola
1d1ff5485c
Implement TLSLD.
...
llvm-svn: 117547
2010-10-28 15:02:40 +00:00
Rafael Espindola
8372247e83
Implement DTPOFF.
...
llvm-svn: 117546
2010-10-28 14:48:59 +00:00
Oscar Fuentes
884f6a3c67
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
Rafael Espindola
c44c5b374a
Implement TLSLDM.
...
llvm-svn: 117544
2010-10-28 14:37:09 +00:00
Rafael Espindola
d8ef67f8b9
Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind.
...
llvm-svn: 117543
2010-10-28 14:22:44 +00:00
Mikhail Glushenkov
4bf08b3a06
Reindent.
...
llvm-svn: 117538
2010-10-28 08:25:44 +00:00
Evan Cheng
bc4588c439
Re-commit 117518 and 117519 now that ARM MC test failures are out of the way.
...
llvm-svn: 117531
2010-10-28 06:47:08 +00:00
Evan Cheng
72be097417
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.
llvm-svn: 117530
2010-10-28 06:46:17 +00:00
NAKAMURA Takumi
b89aaebdde
test/Transforms/SimplifyLibCalls/floor.ll: Mark as XFAIL:win32 due to lack of nearbyintf on MSVC. [PR8466]
...
llvm-svn: 117529
2010-10-28 06:46:04 +00:00
NAKAMURA Takumi
3995a53b8d
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.
llvm-svn: 117528
2010-10-28 06:45:57 +00:00
Chris Lattner
a5367549b9
clarify that not having the ".o file writing" feature
...
doesn't mean that you can't get a .o file. Apparently
this is confusing :)
llvm-svn: 117523
2010-10-28 02:22:02 +00:00
Evan Cheng
fdc80a0316
Revert 117518 and 117519 for now. They changed scheduling and cause MC tests to fail. Ugh.
...
llvm-svn: 117520
2010-10-28 02:00:25 +00:00
Evan Cheng
5c358e02ea
- 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".
llvm-svn: 117519
2010-10-28 01:49:06 +00:00
Evan Cheng
a07cd58978
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.
llvm-svn: 117518
2010-10-28 01:46:29 +00:00
Dale Johannesen
b78530f9b0
Fix pastos in handling of AVX cvttsd2si, PR8491.
...
Bruno, please review, but I'm pretty sure this is right.
Patch by Alex Mac!
llvm-svn: 117514
2010-10-28 00:35:54 +00:00
Owen Anderson
e75f7c5419
Add correct NEON encodings for vtbl and vtbx.
...
llvm-svn: 117513
2010-10-28 00:18:46 +00:00
Owen Anderson
008116cb71
Add correct NEON encodings for vext, vtrn, vuzp, and vzip.
...
llvm-svn: 117512
2010-10-27 23:56:39 +00:00