Owen Anderson
b92b13d8a0
Invert the logic of reachesChainWithoutSideEffects(). What we want to check is that there is
...
NO path to the destination containing side effects, not that SOME path contains no side effects.
In practice, this only manifests with CombinerAA enabled, because otherwise the chain has little
to no branching, so "any" is effectively equivalent to "all".
llvm-svn: 114268
2010-09-18 04:45:14 +00:00
Eric Christopher
a6ba082cb6
Thumb opcodes for thumb calls.
...
llvm-svn: 114263
2010-09-18 02:32:38 +00:00
Daniel Dunbar
c4f3990f01
lit: Bump version to 0.2.0dev, for no apparent reason.
...
llvm-svn: 114262
2010-09-18 02:28:15 +00:00
Daniel Dunbar
196024ce1b
lit: Tweak setup.py.
...
llvm-svn: 114261
2010-09-18 02:28:12 +00:00
Daniel Dunbar
07cc4f6b33
lit: These TODOs are done(ish).
...
llvm-svn: 114260
2010-09-18 02:28:09 +00:00
Eric Christopher
aef6499bf1
Add addrmode5 fp load support. Swap float/thumb operand adding to handle
...
thumb with floating point.
llvm-svn: 114256
2010-09-18 01:59:37 +00:00
Eric Christopher
30f2300ed2
Floating point stores have a 3rd addressing mode type.
...
llvm-svn: 114254
2010-09-18 01:23:38 +00:00
Rafael Espindola
15829c6c4c
Add test that was missing in my previous commit.
...
llvm-svn: 114248
2010-09-18 00:37:27 +00:00
Jim Grosbach
af5d63583e
factor out a simple helper function to create a label for PC-relative
...
instructions (PICADD, PICLDR, et.al.)
llvm-svn: 114243
2010-09-18 00:05:05 +00:00
Jim Grosbach
8a5a6a6c1e
PC-relative pseudo instructions are lowered and printed directly. Any encounter
...
with one in the generic printing code is an error.
llvm-svn: 114242
2010-09-18 00:04:53 +00:00
Dan Gohman
49c15c0f9f
Attempt to XFAIL this test on arm-linux, which is inexplicably failing.
...
llvm-svn: 114241
2010-09-18 00:04:37 +00:00
Benjamin Kramer
de636ca9a8
Fix vmov.f64 disassembly on targets where sizeof(long) != 8.
...
llvm-svn: 114240
2010-09-17 23:48:07 +00:00
Jim Grosbach
3d97920829
Add MC-inst handling for tPICADD
...
llvm-svn: 114237
2010-09-17 23:41:53 +00:00
Bob Wilson
cb6db98897
Add target-specific DAG combiner for BUILD_VECTOR and VMOVRRD. An i64
...
value should be in GPRs when it's going to be used as a scalar, and we use
VMOVRRD to make that happen, but if the value is converted back to a vector
we need to fold to a simple bit_convert. Radar 8407927.
llvm-svn: 114233
2010-09-17 22:59:05 +00:00
Jim Grosbach
7a6c37d3e7
Teach the (non-MC) instruction printer to use the cannonical names for push/pop,
...
and shift instructions on ARM. Update the tests to match.
llvm-svn: 114230
2010-09-17 22:36:38 +00:00
Rafael Espindola
0ecde03e9f
Avoid relocations in a common case.
...
llvm-svn: 114229
2010-09-17 22:34:41 +00:00
Evan Cheng
e53ab6dffc
Teach machine sink to
...
1) Do forward copy propagation. This makes it easier to estimate the cost of the
instruction being sunk.
2) Break critical edges on demand, including cases where the value is used by
PHI nodes.
Critical edge splitting is not yet enabled by default.
llvm-svn: 114227
2010-09-17 22:28:18 +00:00
Eric Christopher
2ccc1aa696
Rework arm fast isel branch and compare code.
...
llvm-svn: 114226
2010-09-17 22:28:18 +00:00
Evan Cheng
b08377e0db
Machine CSE was forgetting to clear some data structures.
...
llvm-svn: 114222
2010-09-17 21:59:42 +00:00
Jim Grosbach
6d800f88da
Update tests to handle MC-inst instruction printing of shift operations. The
...
legacy asm printer uses instructions of the form, "mov r0, r0, lsl #3", while
the MC-instruction printer uses the form "lsl r0, r0, #3". The latter mnemonic
is correct and preferred according the ARM documentation (A8.6.98). The former
are pseudo-instructions for the latter.
llvm-svn: 114221
2010-09-17 21:58:46 +00:00
Evan Cheng
0dcd3362bd
Fix a potential bug that can cause miscomparison with and without debug info.
...
llvm-svn: 114220
2010-09-17 21:56:26 +00:00
Jakob Stoklund Olesen
4a253e5ac8
Don't include <fenv.h> now that we have llvm/System/FEnv.h.
...
llvm-svn: 114219
2010-09-17 21:47:03 +00:00
Jim Grosbach
4a5e54021a
FileCheck-ize
...
llvm-svn: 114218
2010-09-17 21:46:16 +00:00
Jim Grosbach
132a0ce787
Hook up verbose asm comment printing for SOImm operands in MC printer
...
llvm-svn: 114215
2010-09-17 21:33:25 +00:00
Jim Grosbach
4e51d0bebb
trailing whitespace
...
llvm-svn: 114212
2010-09-17 21:25:10 +00:00
Jim Grosbach
757732c25e
trailing whitespace
...
llvm-svn: 114211
2010-09-17 21:23:56 +00:00
Jim Grosbach
20da4e360b
Move thumb2 tests to the thumb2 directory
...
llvm-svn: 114206
2010-09-17 20:34:09 +00:00
Oscar Fuentes
bcc8b2f9e5
cmake: test for the presence of fenv.h
...
llvm-svn: 114205
2010-09-17 20:30:48 +00:00
Jim Grosbach
9b0cd20f72
tweak test to check instructions rather than relying on the comment string
...
llvm-svn: 114204
2010-09-17 20:27:26 +00:00
Dan Gohman
f3a9c464b4
Fix this test to avoid an "inexact" fold.
...
llvm-svn: 114202
2010-09-17 20:25:43 +00:00
Dan Gohman
534db8a5c8
Avoid emitting a PIC base register if no PIC addresses are needed.
...
This fixes rdar://8396318.
llvm-svn: 114201
2010-09-17 20:24:24 +00:00
Jim Grosbach
f3ceecec7e
tweak test to check instructions rather than relying on the comment string
...
llvm-svn: 114200
2010-09-17 20:21:03 +00:00
Jim Grosbach
c18a460adc
tweak test to check instructions rather than relying on the comment string
...
llvm-svn: 114199
2010-09-17 20:17:41 +00:00
Dan Gohman
695312637c
Fix this test so that folding doesn't depend on a potentially
...
"inexact" result.
llvm-svn: 114198
2010-09-17 20:15:53 +00:00
Dan Gohman
df25777f78
Regenerate.
...
llvm-svn: 114197
2010-09-17 20:08:35 +00:00
Dan Gohman
b48f904602
Attempt to support platforms which don't have fenv.h.
...
llvm-svn: 114196
2010-09-17 20:06:27 +00:00
Jim Grosbach
1287f4f3b8
Add skeleton infrastructure for the ARMMCCodeEmitter class. Patch by Jason Kim!
...
llvm-svn: 114195
2010-09-17 18:46:17 +00:00
Jim Grosbach
0d35df1cfe
handle the upper16/lower16 target operand flags on symbol references for MC
...
instruction lowering.
llvm-svn: 114191
2010-09-17 18:25:25 +00:00
Chris Lattner
cea0a8d7ae
fix rdar://8444631 - encoder crash on 'enter'
...
What a weird instruction.
llvm-svn: 114190
2010-09-17 18:02:29 +00:00
Gabor Greif
89c416ca98
fix comments; patch by Edmund Grimley-Evans\!
...
llvm-svn: 114189
2010-09-17 17:52:00 +00:00
Duncan Sands
922563cc6d
Some of the tests build an executable with llvm-gcc. For this to work, llvm-gcc
...
needs to find some libraries, which may require searching the directories given
by LIBRARY_PATH on curiously configured systems. So pass on LIBRARY_PATH.
llvm-svn: 114186
2010-09-17 17:05:27 +00:00
Daniel Dunbar
baad46c6ee
Fix an MSVC warning.
...
llvm-svn: 114184
2010-09-17 16:34:24 +00:00
Jim Grosbach
a7d430b51c
expand PICLDR MC lowering to handle other PICLDR and PICSTR versions.
...
llvm-svn: 114183
2010-09-17 16:25:52 +00:00
Daniel Dunbar
35a7a0ee2e
MC/Mach-O/i386: Fix a crash in relocation handling.
...
llvm-svn: 114176
2010-09-17 15:21:50 +00:00
NAKAMURA Takumi
ab5077ab71
Move the declaration SetInformationJobObject() outside of namespace.
...
It is also workaround for PR7927.
llvm-svn: 114175
2010-09-17 11:14:18 +00:00
NAKAMURA Takumi
018f965a77
AlphaSchedule.td: 7bit-ize.
...
llvm-svn: 114173
2010-09-17 09:56:43 +00:00
Michael J. Spencer
386fe51f64
docs: Update GettingStartedVS to reflect current state.
...
llvm-svn: 114167
2010-09-17 06:33:20 +00:00
Daniel Dunbar
a69a595c2b
System: Don't reexport ___eprintf when building with Clang; this symbol isn't
...
used on Darwin anymore, and Clang might not always link with the library it is
currently found in.
llvm-svn: 114165
2010-09-17 04:25:24 +00:00
Oscar Fuentes
d890a54353
tests/CMakeLists.txt: use `configure_file' instead of `sed'.
...
The Windows users will appreciate this.
llvm-svn: 114158
2010-09-17 03:22:21 +00:00
Daniel Dunbar
55f16678e4
MC/AsmParser: Add support for 'a + 4@GOTPCREL' and friends, by reconsing the
...
expression to include the modifier.
- Gross, but this a corner case we don't expect to see often in practice, but
it is worth accepting.
- Also improves diagnostics on invalid modifiers.
llvm-svn: 114154
2010-09-17 02:47:07 +00:00