1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

79173 Commits

Author SHA1 Message Date
Mon P Wang
e062e56cab When not destroying the source, the linker is not remapping the types. Added support
to CloneFunctionInto to allow remapping for this case.

llvm-svn: 147217
2011-12-23 02:18:32 +00:00
Ted Kremenek
5c8d254db3 Use 'check_symbol_exists' instead of 'check_function_exists' for finding isatty. This change allows Xcode generated projects to have HAVE_ISATTY to be properly defined.
llvm-svn: 147215
2011-12-23 01:31:45 +00:00
Jakob Stoklund Olesen
c97d7d26bd Experimental support for aligned NEON spills.
ARM targets with NEON units have access to aligned vector loads and
stores that are potentially faster than unaligned operations.

Add support for spilling the callee-saved NEON registers to an aligned
stack area using 16-byte aligned NEON loads and store.

This feature is off by default, controlled by an -align-neon-spills
command line option.

llvm-svn: 147211
2011-12-23 00:36:18 +00:00
Bob Wilson
310117c1ea Add variants of the dispatchsetup pseudo for Thumb and !VFP. <rdar://10620138>
My change r146949 added register clobbers to the eh_sjlj_dispatchsetup pseudo
instruction, but on Thumb1 some of those registers cannot be used.  This
caused massive failures on the testsuite when compiling for Thumb1.  While
fixing that, I noticed that the eh_sjlj_setjmp instruction has a "nofp"
variant, and I realized that dispatchsetup needs the same thing, so I have
added that as well.

llvm-svn: 147204
2011-12-22 23:39:48 +00:00
Dylan Noblesmith
23f0c34cd3 TableGen: add a comment
llvm-svn: 147199
2011-12-22 23:16:09 +00:00
Dylan Noblesmith
3e069a5220 try to fix MSVC build
llvm-svn: 147198
2011-12-22 23:08:39 +00:00
Dylan Noblesmith
40dea4f20c drop unneeded config.h includes
llvm-svn: 147197
2011-12-22 23:04:07 +00:00
Benjamin Kramer
dcd607e3f1 Attempt #2 to fix mingw crossbuild. This time with more ugly hacks!
llvm-svn: 147196
2011-12-22 22:50:44 +00:00
Chad Rosier
32c63b4265 Fix 80-column violations.
llvm-svn: 147192
2011-12-22 22:35:21 +00:00
Benjamin Kramer
ef9a96a9c3 Make the -fvisibility-inlines-hidden check more thorough in a hopeless attempt to fix mingw cross-compiles.
llvm-svn: 147191
2011-12-22 22:25:26 +00:00
Rafael Espindola
640fd8dd5f Move all the dependencies on X86FixupKinds.h to a single method in preparation
to moving it to lib/Target/X86.

llvm-svn: 147190
2011-12-22 22:21:47 +00:00
Jim Grosbach
a678ad9ecc ARM VFP assembly parsing and encoding for VCVT(float <--> fixed point).
rdar://10558523

llvm-svn: 147189
2011-12-22 22:19:05 +00:00
Bob Wilson
63bc016e30 Add missing usesCustomInserter flag on Int_eh_sjlj_setjmp_nofp.
Noticed by inspection; I don't have a testcase for this.

llvm-svn: 147188
2011-12-22 22:12:44 +00:00
Bob Wilson
cc2bf6e234 Remove broken command to copy tblgen tool.
tblgen has been renamed to llvm-tblgen so this command has been failing,
and it's no longer needed because llvm-tblgen is already installed by default.

llvm-svn: 147187
2011-12-22 22:12:40 +00:00
Eli Friedman
41be35819d Some unittests for APInt rotates; patch by Cameron McInally.
llvm-svn: 147186
2011-12-22 22:11:19 +00:00
Jim Grosbach
59fccb5809 Tidy up. Use predicate function a bit more liberally.
llvm-svn: 147184
2011-12-22 22:02:35 +00:00
Benjamin Kramer
8c8a4dea5f Reenable building with -fvisibility-inlines-hidden.
This was disabled years ago because of a bug in GCC 4.1, which is
on our "broken compilers" list for other reasons. Saving ~500k
on a clang binary (Release+Asserts) is well worth dropping support
for it.

We currently disable it for shared libraries (where it would bring
the biggest win) because clang is broken (PR11642).

IMPORTANT: If you're doing incremental builds you may get tons of
linker warnings. make clean will fix them.

llvm-svn: 147182
2011-12-22 21:41:32 +00:00
Rafael Espindola
eba1c0eb00 Fix incorrect relocation generation. Patch by Kristof Beyls.
Fixes PR11214.

llvm-svn: 147180
2011-12-22 21:36:43 +00:00
Chad Rosier
0bfa96dd95 Add the actual code for r147175.
llvm-svn: 147176
2011-12-22 21:10:46 +00:00
Chad Rosier
d16131e35c Reinstate r146578; it doesn't appear to be the cause of some recent execution-
time regressions.  In general, it is beneficial to compile-time.

Original commit message:
Fix for bug #11429: Wrong behaviour for switches. Small improvement for code
size heuristics.

llvm-svn: 147175
2011-12-22 21:06:36 +00:00
Jim Grosbach
06dffd2643 ARM VFP add encoding of the bitcount to fixed-point<-->floating point. insns.
The value from the operands isn't right yet, but we weren't encoding it at
all previously. The parser needs to twiddle the values when building the
instruction.

Partial for: rdar://10558523

llvm-svn: 147170
2011-12-22 19:55:21 +00:00
Jim Grosbach
5824007e4d Remove some bogus comments.
llvm-svn: 147169
2011-12-22 19:45:01 +00:00
Chris Lattner
c1c640b408 fix typo
llvm-svn: 147159
2011-12-22 19:20:51 +00:00
Jim Grosbach
970c4cab9e ARM pre-UAL aliases. fcmp[sd].
llvm-svn: 147158
2011-12-22 19:20:45 +00:00
Rafael Espindola
1c75ae90fa Fix an incomplete refactoring of the ppc backend. Thanks to rdivacky for reporting
it. It does need some some tests...

llvm-svn: 147154
2011-12-22 18:38:06 +00:00
Jim Grosbach
100e3aaffa ARM assembler should accept shift-by-zero for any shifted-immediate operand.
Just treat it as-if the shift wasn't there at all. 'as' compatibility.

rdar://10604767

llvm-svn: 147153
2011-12-22 18:04:04 +00:00
Jim Grosbach
90f8398ee6 ARM assembly parser canonicallize on 'lsl' for shift-by-zero form.
llvm-svn: 147152
2011-12-22 17:37:00 +00:00
Jim Grosbach
8ca95cbf58 Tidy up. Trailing whitespace.
llvm-svn: 147151
2011-12-22 17:17:10 +00:00
Jim Grosbach
65cd6c7acc Nuke invalid comment from copy/paste.
llvm-svn: 147150
2011-12-22 17:04:50 +00:00
Benjamin Kramer
5d07d63540 Give string constants generated by IRBuilder private linkage.
Fixes PR11640.

llvm-svn: 147144
2011-12-22 14:22:14 +00:00
Rafael Espindola
c98cd8151e Add configure support for kfreebsd and hurd. Patch by Sylvestre Ledru.
Fixes pr11620.

llvm-svn: 147143
2011-12-22 14:01:18 +00:00
Chandler Carruth
acdf352b77 Make the unreachable probability much much heavier. The previous
probability wouldn't be considered "hot" in some weird loop structures
or other compounding probability patterns. This makes it much harder to
confuse, but isn't really a principled fix. I'd actually like it if we
could model a zero probability, as it would make this much easier to
reason about. Suggestions for how to do this better are welcome.

llvm-svn: 147142
2011-12-22 09:26:37 +00:00
Rafael Espindola
fc4563fd8c Kill the monstrosity that was ELFObjectWriter.h.
llvm-svn: 147136
2011-12-22 03:38:00 +00:00
Rafael Espindola
f6ea76db23 Misc cleanups.
llvm-svn: 147135
2011-12-22 03:24:43 +00:00
Eli Friedman
7e1bd9d328 Fix APInt::rotl and APInt::rotr so that they work correctly. Found while writing some code that tried to use them.
llvm-svn: 147134
2011-12-22 03:15:35 +00:00
Rafael Espindola
3ed0f04e50 Move the Mips only bits of the ELF writer to lib/Target/Mips.
llvm-svn: 147133
2011-12-22 03:03:17 +00:00
Rafael Espindola
57dea1bf84 Make the virtual methods in ARMELFObjectWriter public.
llvm-svn: 147132
2011-12-22 02:58:12 +00:00
Chad Rosier
4ab165f664 Speculatively revert r146578 to determine if it is the cause of a number of
performance regressions (both execution-time and compile-time) on our
nightly testers.

Original commit message:
Fix for bug #11429: Wrong behaviour for switches. Small improvement for code
size heuristics.

llvm-svn: 147131
2011-12-22 02:40:57 +00:00
Rafael Espindola
82d61c8b38 Move the MBlaze ELF writer bits to lib/Target/MBlaze.
llvm-svn: 147129
2011-12-22 02:28:24 +00:00
Pete Cooper
2c77045084 Hoisted some loop invariant smallvector lookups out of a MachineLICM loop
llvm-svn: 147127
2011-12-22 02:13:25 +00:00
Rafael Espindola
b3756d8e4d Fix cmake.
llvm-svn: 147126
2011-12-22 02:06:17 +00:00
Pete Cooper
be17e2bd59 Changed MachineLICM to use a worklist list MachineCSE instead of recursion.
Fixes <rdar://problem/10584116>

llvm-svn: 147125
2011-12-22 02:05:40 +00:00
Rafael Espindola
9c71db357e Move PPC bits to lib/Target/PowerPC.
llvm-svn: 147124
2011-12-22 01:57:09 +00:00
Rafael Espindola
6f3a1698f3 Hopefully fix the cmake build.
llvm-svn: 147121
2011-12-22 01:11:01 +00:00
Rafael Espindola
6f21886d7e Fix name in comments.
llvm-svn: 147119
2011-12-22 01:06:53 +00:00
Akira Hatanaka
e7bcf63d98 Local dynamic TLS model for direct object output. Create the correct TLS MIPS
ELF relocations.

Patch by Jack Carter.

llvm-svn: 147118
2011-12-22 01:05:17 +00:00
Richard Smith
9b355262f5 Unbreak cmake build after r147115.
llvm-svn: 147117
2011-12-22 01:03:35 +00:00
Rafael Espindola
ee837037ee Move the ARM specific parts of the ELF writer to Target/ARM.
llvm-svn: 147115
2011-12-22 00:37:50 +00:00
Rafael Espindola
943ba34584 getEFlags is const.
llvm-svn: 147114
2011-12-22 00:21:50 +00:00
Lang Hames
4258202987 Fixed typo.
llvm-svn: 147113
2011-12-22 00:12:51 +00:00