Michael J. Spencer
d5ec932c3a
Merge System into Support.
...
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Kalle Raiskila
71dec6ff42
Handle lshr for i128 correctly on SPU also when
...
shiftamount > 7.
llvm-svn: 120288
2010-11-29 14:44:28 +00:00
Kalle Raiskila
45865e9165
Enable PostRA scheduling for SPU.
...
This speeds up selected test cases with up to
5% - no slowdowns observed.
llvm-svn: 120286
2010-11-29 10:30:25 +00:00
Kalle Raiskila
64f85ff7b3
Allow machine LICM to do its job on SPU.
...
-return a sensible value for register pressure
-add pattern to 'ila' instrucion
llvm-svn: 120285
2010-11-29 10:08:09 +00:00
Kalle Raiskila
46d01503cd
Add missing i128 case.
...
llvm-svn: 120284
2010-11-29 09:36:26 +00:00
NAKAMURA Takumi
cb3ef14268
tools/Makefile: Don't look into $(TARGET_OS), but $(HOST_OS), to inspect availability of loadable module!
...
The last commit made run.build.step.test_llvm_1 to fail.
llvm-svn: 120283
2010-11-29 08:58:11 +00:00
NAKAMURA Takumi
fc880d67f7
test: Check the feature 'loadable_module' with load modules in %llvmshlibdir.
...
%llvmshlibdir should be 'bin' on Cygming.
llvm-svn: 120282
2010-11-29 07:58:32 +00:00
Chandler Carruth
12806a53f3
Add some dead stores to pacify my least favorite GCC warning: may be
...
uninitialized. The warning is terrible, has incorrect source locations, and has
a huge false positive rate such as *all* of these.
If anyone has a better solution, please let me know. Alternatively, I'll
happily add -Wno-uninitialized to the -Werror build mode. Maybe I can even do
it *only* when building with GCC instead of Clang.
llvm-svn: 120281
2010-11-29 01:41:13 +00:00
Bill Wendling
c0055893db
Add more Thumb encodings.
...
llvm-svn: 120279
2010-11-29 01:07:48 +00:00
Bill Wendling
b54752da15
More Thumb encodings.
...
llvm-svn: 120278
2010-11-29 01:00:43 +00:00
Bill Wendling
8f0b624061
Add Thumb encodings for REV instructions.
...
llvm-svn: 120277
2010-11-29 00:42:50 +00:00
NAKAMURA Takumi
17058cad9f
tools/Makefile: Fix indentation.
...
llvm-svn: 120276
2010-11-29 00:20:34 +00:00
NAKAMURA Takumi
c5a40643d5
tools/Makefile: Enable building lto, edis and bugpoint-passes on Cygming.
...
bugpoint-passes would be built with ENABLE_SHARED=1.
You could try building gold on Cygming, though, it would fail.
llvm-svn: 120275
2010-11-29 00:20:28 +00:00
NAKAMURA Takumi
7352ce8225
test: Use $SharedLibDir for loadable modules. On Cygming, loadable modules are not in lib/ but bin.
...
llvm-svn: 120274
2010-11-29 00:20:21 +00:00
NAKAMURA Takumi
fc8d4c0024
test: Add the new feature 'loadable_module'.
...
llvm-svn: 120273
2010-11-29 00:20:09 +00:00
Bill Wendling
d233cab1eb
Add more Thumb encodings.
...
llvm-svn: 120272
2010-11-29 00:18:15 +00:00
Rafael Espindola
d5f118a011
Make EmitIntValue non virtual.
...
llvm-svn: 120271
2010-11-28 23:22:44 +00:00
Rafael Espindola
fdbf55e614
Forgot the MCPureStreamer::EmitValue in the previous commit.
...
llvm-svn: 120270
2010-11-28 23:13:47 +00:00
Rafael Espindola
4ba6ca3725
Move EmitValue to MCObjectStreamer.
...
llvm-svn: 120269
2010-11-28 23:08:47 +00:00
Jakob Stoklund Olesen
a5f9163586
Don't use std::copy and std::copy_backward, run 10% faster.
...
Sometimes std::copy can become a memmove call, and that is not a good idea when
copying relatively few bytes as we are doing. We also get a small win by
changing two loops into one.
llvm-svn: 120265
2010-11-28 22:17:14 +00:00
Jakob Stoklund Olesen
36f332e23a
Disallow overlapping inserts, even when inserting the same value.
...
We always disallowed overlapping inserts with different values, and this makes
the insertion code smaller and faster.
If an overwriting insert is needed, it can be added as a separate method that
trims any existing intervals before inserting. The immediate use cases for
IntervalMap don't need this - they only use disjoint insertions.
llvm-svn: 120264
2010-11-28 22:17:11 +00:00
Rafael Espindola
9287c4b38f
Move lowering of TLS_addr32 and TLS_addr64 to X86MCInstLower.
...
llvm-svn: 120263
2010-11-28 21:16:39 +00:00
Jay Foad
eb28ac4a7a
PR5207: remove unused methods APInt::Emit() and APInt::Read().
...
llvm-svn: 120262
2010-11-28 21:05:31 +00:00
Jay Foad
7378352505
PR5207: change APInt::doubleToBits() and APInt::floatToBits() to be
...
static methods that return a new APInt.
llvm-svn: 120261
2010-11-28 21:04:48 +00:00
Chris Lattner
a11c5c5c32
fix PR8686, accepting a 'b' suffix at the end of all the setcc
...
instructions. I choose to handle this with an asmparser hack,
though it could be handled by changing all the instruction definitions
to allow be "setneb" instead of "setne". The asm parser hack is
better in this case, because we want the disassembler to produce
setne, not setneb.
llvm-svn: 120260
2010-11-28 20:23:50 +00:00
Chris Lattner
95c86a8aa6
add a function to the C api to get the context out of a module, patch
...
by Eric Dobson!
llvm-svn: 120259
2010-11-28 20:03:44 +00:00
Jakob Stoklund Olesen
69dce6e4b9
Tweak comments to make it clear that we are working in a namespace.
...
llvm-svn: 120256
2010-11-28 18:58:30 +00:00
Nicolas Geoffray
9705544e7c
When emitting a single function with cppgen=function, you don't want to emit
...
initializers of global variables used in the function.
Also make sure to emit the operands of a constant.
llvm-svn: 120253
2010-11-28 18:00:53 +00:00
Rafael Espindola
53ee16b7b6
Fixed verson of r120245.
...
Factor some duplicated code into MCObjectStreamer::EmitLabel.
llvm-svn: 120248
2010-11-28 17:18:55 +00:00
Rafael Espindola
cb1e3ad6bc
Revert previous patch while I debug the darwin bootstrap failure.
...
llvm-svn: 120246
2010-11-28 16:22:59 +00:00
Rafael Espindola
975a3f8fa7
Factor some duplicated code into MCObjectStreamer::EmitLabel.
...
llvm-svn: 120245
2010-11-28 15:54:36 +00:00
Rafael Espindola
b102341ccd
Make EmitSymbolValue non virtual.
...
llvm-svn: 120244
2010-11-28 15:12:55 +00:00
Rafael Espindola
422c24b736
Avoid code duplication in the many unsupported EmitGPRel32Value implementations.
...
llvm-svn: 120243
2010-11-28 15:09:24 +00:00
Rafael Espindola
62578ad462
Make EmitULEB128IntValue and EmitSLEB128IntValue non virtual.
...
llvm-svn: 120242
2010-11-28 14:56:52 +00:00
Rafael Espindola
38c559954c
Move the PTXMCAsmStreamer class to the .cpp file.
...
llvm-svn: 120241
2010-11-28 14:48:34 +00:00
Rafael Espindola
f77005db2b
Define generic 1, 2 and 4 byte pc relative relocations. They are common
...
and at least the 4 byte one will be needed to implement the .cfi_* directives.
llvm-svn: 120240
2010-11-28 14:17:56 +00:00
Jakob Stoklund Olesen
40f22dea6e
Add default constructors for iterators.
...
These iterators don't point anywhere, and they can't be compared to anything.
They are only good for assigning to.
llvm-svn: 120239
2010-11-28 07:21:48 +00:00
Jakob Stoklund Olesen
3ef9f7bc95
Implement const_iterator::advanceTo().
...
This is a version of find() that always searches forwards and is faster for
local searches.
llvm-svn: 120237
2010-11-28 07:00:46 +00:00
Bob Wilson
3bb61d1932
Add support for NEON VLD2-dup instructions.
...
llvm-svn: 120236
2010-11-28 06:51:26 +00:00
Bob Wilson
3f245c3b4f
Fix a comment typo.
...
llvm-svn: 120235
2010-11-28 06:51:19 +00:00
Bob Wilson
f4df482b0d
Another minor refactoring for VLD1DUP instructions.
...
The op11_8 field is the same for all of them so put it in the instruction
classes instead of specifying it separately for each instruction.
llvm-svn: 120234
2010-11-28 06:51:15 +00:00
Bob Wilson
edf156f4af
Add entry in getTargetNodeName() for ARMISD::VBICIMM.
...
llvm-svn: 120233
2010-11-28 06:51:11 +00:00
Jakob Stoklund Olesen
5c6e97ccae
Speed up simple insertions into an unbranched tree by not creating an iterator.
...
llvm-svn: 120232
2010-11-28 06:14:33 +00:00
Mikhail Glushenkov
9342b862e6
llvmc: First stab at better -march handling.
...
llvm-svn: 120230
2010-11-28 00:31:13 +00:00
Anton Korobeynikov
598465c605
Move more PEI-related hooks to TFI
...
llvm-svn: 120229
2010-11-27 23:05:25 +00:00
Anton Korobeynikov
c87f68e32e
Move callee-saved regs spills / reloads to TFI
...
llvm-svn: 120228
2010-11-27 23:05:03 +00:00
Jakob Stoklund Olesen
d23cc8a255
Add more tests for erase(). Fix a few exposed bugs.
...
llvm-svn: 120227
2010-11-27 22:56:53 +00:00
Jakob Stoklund Olesen
c6f16354b9
Add test case with randomly ordered insertions, massive coalescing.
...
Implement iterator::erase() in a simple version that erases nodes when they
become empty, but doesn't try to redistribute elements among siblings for better
packing.
Handle coalescing across leaf nodes which may require erasing entries.
llvm-svn: 120226
2010-11-27 21:12:36 +00:00
Rafael Espindola
45cd9713f2
Lower TLS_addr32 and TLS_addr64.
...
llvm-svn: 120225
2010-11-27 20:43:02 +00:00
Rafael Espindola
6f5680f4a0
Implement the data16 prefix.
...
llvm-svn: 120224
2010-11-27 20:29:45 +00:00