1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 06:22:51 +01:00
Commit Graph

9258 Commits

Author SHA1 Message Date
Oscar Fuentes
42942c0bc5 Adds extern "C" ints to the .cpp files that use RegisterTarget, as
well as 2 files that use "Registrator"s. These are to be used by the
MSVC builds, as the Win32 linker does not include libs that are
otherwise unreferenced, even if global constructors in the lib have
side-effects.

Patch by Scott Graham!

llvm-svn: 59378
2008-11-15 21:36:30 +00:00
Evan Cheng
7ac8120105 Fix fuitos encoding.
llvm-svn: 59344
2008-11-15 00:40:57 +00:00
Evan Cheng
626e85dfc2 Fix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.
llvm-svn: 59314
2008-11-14 20:09:11 +00:00
Dale Johannesen
29e1b2e9fd Remove unneeded stuff from GRAD register class.
llvm-svn: 59311
2008-11-14 18:10:48 +00:00
Richard Osborne
e30cb5908e [XCore] Remove whitespace in the description used when
registering XCoreTargetMachine.

llvm-svn: 59308
2008-11-14 16:19:56 +00:00
Richard Osborne
c2b2d5e6cf [XCore] Fix expansion of 64 bit add/sub. Don't custom expand
these operations if ladd/lsub are not available on the current
subtarget.

llvm-svn: 59305
2008-11-14 15:59:19 +00:00
Richard Osborne
8f86bb4d20 Add XCore intrinsics for getid (returns thread id) and bitrev (reverses
bits in a word).

llvm-svn: 59296
2008-11-14 10:12:16 +00:00
Evan Cheng
f7c1da41a1 Handle the rest of pseudo instructions.
llvm-svn: 59275
2008-11-13 23:36:57 +00:00
Evan Cheng
feb7615798 Lazy compilation callback save / restore VFP registers.
llvm-svn: 59274
2008-11-13 23:28:54 +00:00
Dale Johannesen
de9fdff884 Extend InlineAsm::C_Register to allow multiple specific registers
(actually, code already all worked, only the comment
changed).  Use this to implement 'A' constraint on x86.
Fixes PR 1779.

llvm-svn: 59266
2008-11-13 21:52:36 +00:00
Evan Cheng
4c8297e12b Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.
llvm-svn: 59258
2008-11-13 19:22:28 +00:00
Evan Cheng
997eb67c20 fsub{d|s} encoding bugs.
llvm-svn: 59234
2008-11-13 07:59:48 +00:00
Evan Cheng
d67d6c4571 Missed a break statement.
llvm-svn: 59231
2008-11-13 07:46:59 +00:00
Evan Cheng
3c0113820b Fix pre- and post-indexed load / store encoding bugs.
llvm-svn: 59230
2008-11-13 07:34:59 +00:00
Dan Gohman
229c65c05b Move the code that inserts X87 FP_REG_KILL instructions from a
special-purpose hook to a new pass. Also, add check to see if any
x87 virtual registers are used, to avoid doing any work in the
common case that no x87 code is needed.

llvm-svn: 59190
2008-11-12 22:55:05 +00:00
Evan Cheng
4768468ec1 Remove the incorrect assertion. We don't have enough information before relocation to set U bit.
llvm-svn: 59170
2008-11-12 21:37:59 +00:00
Evan Cheng
9cb6f40f8f Address mode immediate offset has already been divided by 4.
llvm-svn: 59117
2008-11-12 08:21:12 +00:00
Evan Cheng
80d0d5cfa8 Fix a VFP binary arithmetic instruction encoding bug.
llvm-svn: 59116
2008-11-12 08:14:21 +00:00
Evan Cheng
a4dc0e304e Fix address mode 3 immediate offset mode encoding.
llvm-svn: 59109
2008-11-12 07:34:37 +00:00
Evan Cheng
7fef8cfe75 Consolidate formats; fix FCMPED etc. encodings.
llvm-svn: 59107
2008-11-12 07:18:38 +00:00
Evan Cheng
0966883093 Fix VFP conversion instruction encodings.
llvm-svn: 59104
2008-11-12 06:41:41 +00:00
Evan Cheng
39d8bf295d Fix encoding of single-precision VFP registers.
llvm-svn: 59102
2008-11-12 02:19:38 +00:00
Evan Cheng
cc9323ac73 VFP fld / fst immediate field is multiplied by 4.
llvm-svn: 59100
2008-11-12 01:02:24 +00:00
Andrew Lenharth
0e7b77369c This shouldn't be necessary
llvm-svn: 59090
2008-11-11 23:19:51 +00:00
Evan Cheng
8b7fefc126 Fix FMDRR encoding.
llvm-svn: 59088
2008-11-11 22:46:12 +00:00
Evan Cheng
95bad0db94 Handle floating point constpool_entry's.
llvm-svn: 59087
2008-11-11 22:19:31 +00:00
Evan Cheng
35f1477c5a Encode VFP load / store instructions.
llvm-svn: 59084
2008-11-11 21:48:44 +00:00
Evan Cheng
91e4ef91c5 Encode VFP conversion instructions.
llvm-svn: 59074
2008-11-11 19:40:26 +00:00
Evan Cheng
82b17df2b0 Add a README entry.
llvm-svn: 59052
2008-11-11 17:35:52 +00:00
Oscar Fuentes
e4e9531262 CMake: corrected split of Alpha and Sparc AsmPrinters.
llvm-svn: 59050
2008-11-11 17:10:13 +00:00
Anton Korobeynikov
fe80f44b35 Separate sparc asmprinter. This should unbreak the native build
llvm-svn: 59047
2008-11-11 16:42:57 +00:00
Anton Korobeynikov
e3e227b40b Separate alpha asmprinter. This should unbreak native build.
llvm-svn: 59046
2008-11-11 16:42:17 +00:00
Dan Gohman
fd00e20872 The 32-bit displacement field in an x86 address is signed. Arrange for it
to be sign-extended when it is promoted to 64 bits for intermediate
offset calculations. The offset calculations are done as uint64_t so that
overflow conditions are well defined.

This fixes a problem which is currently hidden by the x86 AsmPrinter but
which was exposed by r58917 (which is temporarily reverted).  See PR3027
for details.

llvm-svn: 59044
2008-11-11 15:52:29 +00:00
Andrew Lenharth
d096adcb5f fix another libgcc blocker
llvm-svn: 59026
2008-11-11 06:06:07 +00:00
Scott Michel
2ab73cf730 Unbreak the buildbot and back out (inadvertant) casting edits in CellSPU
backend.

llvm-svn: 59018
2008-11-11 03:06:06 +00:00
Evan Cheng
3c62bb7471 Encode VFP arithmetic instructions.
llvm-svn: 59016
2008-11-11 02:11:05 +00:00
Scott Michel
ecc5cc6238 CellSPU: Fix bug 3606, as well as some ongoing work.
llvm-svn: 59009
2008-11-10 23:43:06 +00:00
Evan Cheng
bc61b6009b Correct PIC function stub codegen.
llvm-svn: 59006
2008-11-10 23:14:47 +00:00
Dan Gohman
b5857c2859 Fix indentation.
llvm-svn: 59004
2008-11-10 22:09:58 +00:00
Mon P Wang
6792115592 Added CONVERT_RNDSAT (conversion with rounding and saturation) SDNode to
support targets that support these conversions. Users should avoid using
this node as the current targets don't generating code for it.

llvm-svn: 59001
2008-11-10 20:54:11 +00:00
Evan Cheng
080c1a9fac Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.
llvm-svn: 58949
2008-11-10 01:08:07 +00:00
Anton Korobeynikov
cc2b340d11 Typo fix
llvm-svn: 58928
2008-11-09 02:54:13 +00:00
Anton Korobeynikov
a4933e408d Temporary revert my last commit: it seems it's triggering some subtle bug in backend
and breaks llvm-gcc

llvm-svn: 58926
2008-11-08 23:05:05 +00:00
Oscar Fuentes
4d83014ea6 CMake: corrected library target name for dependency: LLVMCellSPU ->
LLVMCellSPUCodeGen.

llvm-svn: 58925
2008-11-08 21:23:15 +00:00
Oscar Fuentes
a2b285ef48 CMake: Reflected changes on the CellSPU target build. May require a
clean start.

llvm-svn: 58924
2008-11-08 20:37:19 +00:00
Oscar Fuentes
486fd29325 Fixed a pasto.
llvm-svn: 58923
2008-11-08 20:34:18 +00:00
Scott Michel
4a683f438d CellSPU: Bring SPU's assembly printer more in-line with current LLVM code
structure. Assembly printer now outputs the correct section for strings.

llvm-svn: 58921
2008-11-08 18:59:02 +00:00
Anton Korobeynikov
e3b9284fa8 Factor out offset printing code into generic AsmPrinter.
FIXME: it seems, that most of targets don't support
offsets wrt CPI/GlobalAddress', was it intentional?

llvm-svn: 58917
2008-11-08 17:21:38 +00:00
Nicolas Geoffray
76100fd4de The Index field of an AttributeWithIndex is of type unsigned, not uint16_t.
llvm-svn: 58908
2008-11-08 15:36:01 +00:00
Anton Korobeynikov
3af4269671 StoreInst does not produce any result thus it's useless to create new
variable for it. This greatly reduces amount of unused variables in
llvm2cpp-generated code

llvm-svn: 58905
2008-11-08 12:58:07 +00:00