Bob Wilson
1a74de9504
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
f3b1760496
TableGen: add a comment
...
llvm-svn: 147199
2011-12-22 23:16:09 +00:00
Dylan Noblesmith
345b7430a9
try to fix MSVC build
...
llvm-svn: 147198
2011-12-22 23:08:39 +00:00
Dylan Noblesmith
9e5b178ecc
drop unneeded config.h includes
...
llvm-svn: 147197
2011-12-22 23:04:07 +00:00
Benjamin Kramer
54671a787c
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
00bbedff03
Fix 80-column violations.
...
llvm-svn: 147192
2011-12-22 22:35:21 +00:00
Benjamin Kramer
942b28759d
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
e61724aa00
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
ea2319112f
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
268d2599e0
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
f96715d7f0
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
f70c862393
Some unittests for APInt rotates; patch by Cameron McInally.
...
llvm-svn: 147186
2011-12-22 22:11:19 +00:00
Jim Grosbach
c4d8d2f155
Tidy up. Use predicate function a bit more liberally.
...
llvm-svn: 147184
2011-12-22 22:02:35 +00:00
Benjamin Kramer
d90b595599
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
6ca42c5be3
Fix incorrect relocation generation. Patch by Kristof Beyls.
...
Fixes PR11214.
llvm-svn: 147180
2011-12-22 21:36:43 +00:00
Chad Rosier
3ba90a1655
Add the actual code for r147175.
...
llvm-svn: 147176
2011-12-22 21:10:46 +00:00
Chad Rosier
388769427d
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
f0d25117c6
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
b65dd04923
Remove some bogus comments.
...
llvm-svn: 147169
2011-12-22 19:45:01 +00:00
Chris Lattner
a0a6d01d4d
fix typo
...
llvm-svn: 147159
2011-12-22 19:20:51 +00:00
Jim Grosbach
489ed5929e
ARM pre-UAL aliases. fcmp[sd].
...
llvm-svn: 147158
2011-12-22 19:20:45 +00:00
Rafael Espindola
250096233b
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
12ccf45bbb
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
21488b8839
ARM assembly parser canonicallize on 'lsl' for shift-by-zero form.
...
llvm-svn: 147152
2011-12-22 17:37:00 +00:00
Jim Grosbach
3794d82af5
Tidy up. Trailing whitespace.
...
llvm-svn: 147151
2011-12-22 17:17:10 +00:00
Jim Grosbach
62bffd8827
Nuke invalid comment from copy/paste.
...
llvm-svn: 147150
2011-12-22 17:04:50 +00:00
Benjamin Kramer
f1fd6e394d
Give string constants generated by IRBuilder private linkage.
...
Fixes PR11640.
llvm-svn: 147144
2011-12-22 14:22:14 +00:00
Rafael Espindola
4977edd33d
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
b024aa021d
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
29abd977de
Kill the monstrosity that was ELFObjectWriter.h.
...
llvm-svn: 147136
2011-12-22 03:38:00 +00:00
Rafael Espindola
34a68afc05
Misc cleanups.
...
llvm-svn: 147135
2011-12-22 03:24:43 +00:00
Eli Friedman
2aae94fa70
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
1dc45d8df4
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
84d00f11cd
Make the virtual methods in ARMELFObjectWriter public.
...
llvm-svn: 147132
2011-12-22 02:58:12 +00:00
Chad Rosier
1b7e2baf47
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
cc369ac0a2
Move the MBlaze ELF writer bits to lib/Target/MBlaze.
...
llvm-svn: 147129
2011-12-22 02:28:24 +00:00
Pete Cooper
1c3b1efa58
Hoisted some loop invariant smallvector lookups out of a MachineLICM loop
...
llvm-svn: 147127
2011-12-22 02:13:25 +00:00
Rafael Espindola
428b9ee036
Fix cmake.
...
llvm-svn: 147126
2011-12-22 02:06:17 +00:00
Pete Cooper
1eed5b51e8
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
38a400df3b
Move PPC bits to lib/Target/PowerPC.
...
llvm-svn: 147124
2011-12-22 01:57:09 +00:00
Rafael Espindola
2da9777cef
Hopefully fix the cmake build.
...
llvm-svn: 147121
2011-12-22 01:11:01 +00:00
Rafael Espindola
4449b21294
Fix name in comments.
...
llvm-svn: 147119
2011-12-22 01:06:53 +00:00
Akira Hatanaka
e2eed9649e
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
32a756b7ce
Unbreak cmake build after r147115.
...
llvm-svn: 147117
2011-12-22 01:03:35 +00:00
Rafael Espindola
a0124055b1
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
6faa1533fb
getEFlags is const.
...
llvm-svn: 147114
2011-12-22 00:21:50 +00:00
Lang Hames
fc8a4bc969
Fixed typo.
...
llvm-svn: 147113
2011-12-22 00:12:51 +00:00
Jim Grosbach
2b80dad572
ARM NEON mnemonic aliase for vrecpeq.
...
llvm-svn: 147109
2011-12-21 23:52:37 +00:00
Jim Grosbach
7869d8c01e
ARM VFP optional data type on VMOV GPR<-->SPR.
...
llvm-svn: 147104
2011-12-21 23:24:15 +00:00
Jim Grosbach
260b4b336a
ARM NEON optional data type on VSWP instructions.
...
llvm-svn: 147103
2011-12-21 23:09:28 +00:00