1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 22:12:47 +01:00
Commit Graph

64872 Commits

Author SHA1 Message Date
Gabor Greif
356c676d76 remove CallSite::get; it is still present (as protected) in the baseclass, use one of the constructors intead
llvm-svn: 114275
2010-09-18 11:48:36 +00:00
Lang Hames
2d87a43549 Fixed non-const iterator error.
llvm-svn: 114273
2010-09-18 09:49:08 +00:00
Lang Hames
4a8c999803 Added a separate class (PBQPBuilder) for PBQP Problem construction. This class can be extended to support custom constraints.
For now the allocator still uses the old (internal) construction mechanism by default. This will be phased out soon assuming 
no issues with the builder system come up.

To invoke the new construction mechanism just pass '-regalloc=pbqp -pbqp-builder' to llc. To provide custom constraints a
Target just needs to extend PBQPBuilder and pass an instance of their derived builder to the RegAllocPBQP constructor.

llvm-svn: 114272
2010-09-18 09:07:10 +00:00
Michael J. Spencer
37c9ae6c7f docs: Tweak wording.
llvm-svn: 114271
2010-09-18 08:32:32 +00:00
Evan Cheng
442cb9c620 Fix code that break critical edges for PHI uses. Watch out for multiple PHIs in different blocks.
llvm-svn: 114270
2010-09-18 06:42:17 +00:00
Owen Anderson
015641f659 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
0c5e912e21 Thumb opcodes for thumb calls.
llvm-svn: 114263
2010-09-18 02:32:38 +00:00
Daniel Dunbar
3555832020 lit: Bump version to 0.2.0dev, for no apparent reason.
llvm-svn: 114262
2010-09-18 02:28:15 +00:00
Daniel Dunbar
9bf57694be lit: Tweak setup.py.
llvm-svn: 114261
2010-09-18 02:28:12 +00:00
Daniel Dunbar
98afc51d08 lit: These TODOs are done(ish).
llvm-svn: 114260
2010-09-18 02:28:09 +00:00
Eric Christopher
c9fef312c8 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
b6ce0ab878 Floating point stores have a 3rd addressing mode type.
llvm-svn: 114254
2010-09-18 01:23:38 +00:00
Rafael Espindola
32e423fe2b Add test that was missing in my previous commit.
llvm-svn: 114248
2010-09-18 00:37:27 +00:00
Jim Grosbach
c909422ee9 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
a19f7799fb 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
e96841854e 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
1cad9b6521 Fix vmov.f64 disassembly on targets where sizeof(long) != 8.
llvm-svn: 114240
2010-09-17 23:48:07 +00:00
Jim Grosbach
8b988eb1d4 Add MC-inst handling for tPICADD
llvm-svn: 114237
2010-09-17 23:41:53 +00:00
Bob Wilson
670e1915c0 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
8ae5cfffdd 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
acd5bacfb9 Avoid relocations in a common case.
llvm-svn: 114229
2010-09-17 22:34:41 +00:00
Evan Cheng
8c2bde65f0 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
716614f126 Rework arm fast isel branch and compare code.
llvm-svn: 114226
2010-09-17 22:28:18 +00:00
Evan Cheng
042ab036a2 Machine CSE was forgetting to clear some data structures.
llvm-svn: 114222
2010-09-17 21:59:42 +00:00
Jim Grosbach
d2cf0742a4 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
5f2926d516 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
37131971c3 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
b86aebe2b7 FileCheck-ize
llvm-svn: 114218
2010-09-17 21:46:16 +00:00
Jim Grosbach
6e477cd3d8 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
352a616f23 trailing whitespace
llvm-svn: 114212
2010-09-17 21:25:10 +00:00
Jim Grosbach
134c3370ef trailing whitespace
llvm-svn: 114211
2010-09-17 21:23:56 +00:00
Jim Grosbach
b21c19d666 Move thumb2 tests to the thumb2 directory
llvm-svn: 114206
2010-09-17 20:34:09 +00:00
Oscar Fuentes
2a81c4abe0 cmake: test for the presence of fenv.h
llvm-svn: 114205
2010-09-17 20:30:48 +00:00
Jim Grosbach
026811c86f 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
4487f42592 Fix this test to avoid an "inexact" fold.
llvm-svn: 114202
2010-09-17 20:25:43 +00:00
Dan Gohman
aaed2c137f 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
fd21b4bb15 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
5ca55bd98b 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
0e6744d219 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
b881271cd7 Regenerate.
llvm-svn: 114197
2010-09-17 20:08:35 +00:00
Dan Gohman
8058e1b851 Attempt to support platforms which don't have fenv.h.
llvm-svn: 114196
2010-09-17 20:06:27 +00:00
Jim Grosbach
1703c92cf5 Add skeleton infrastructure for the ARMMCCodeEmitter class. Patch by Jason Kim!
llvm-svn: 114195
2010-09-17 18:46:17 +00:00
Jim Grosbach
34a1adb4ea 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
4bce01542c fix rdar://8444631 - encoder crash on 'enter'
What a weird instruction.

llvm-svn: 114190
2010-09-17 18:02:29 +00:00
Gabor Greif
61838d80cd fix comments; patch by Edmund Grimley-Evans\!
llvm-svn: 114189
2010-09-17 17:52:00 +00:00
Duncan Sands
e06344da06 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
ea0a5aee7b Fix an MSVC warning.
llvm-svn: 114184
2010-09-17 16:34:24 +00:00
Jim Grosbach
23ac157064 expand PICLDR MC lowering to handle other PICLDR and PICSTR versions.
llvm-svn: 114183
2010-09-17 16:25:52 +00:00
Daniel Dunbar
ed92665b19 MC/Mach-O/i386: Fix a crash in relocation handling.
llvm-svn: 114176
2010-09-17 15:21:50 +00:00
NAKAMURA Takumi
14029b5d65 Move the declaration SetInformationJobObject() outside of namespace.
It is also workaround for PR7927.

llvm-svn: 114175
2010-09-17 11:14:18 +00:00