Commit Graph

67475 Commits

Author SHA1 Message Date
Michael J. Spencer 457c10e154 Missed another one.
llvm-svn: 120302
2010-11-29 18:33:08 +00:00
Michael J. Spencer 4d2e1501ad Missed a spot.
llvm-svn: 120301
2010-11-29 18:29:55 +00:00
Michael J. Spencer 447762da85 Merge System into Support.
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Kalle Raiskila 1ff0bfa28f Handle lshr for i128 correctly on SPU also when
shiftamount > 7.

llvm-svn: 120288
2010-11-29 14:44:28 +00:00
Kalle Raiskila dc620afd1e 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 1842ada3ad 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 427add8f24 Add missing i128 case.
llvm-svn: 120284
2010-11-29 09:36:26 +00:00
NAKAMURA Takumi 638110fde1 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 6ea8a947e8 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 abcab28f9b 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 232e52cfb7 Add more Thumb encodings.
llvm-svn: 120279
2010-11-29 01:07:48 +00:00
Bill Wendling ccba1a8d95 More Thumb encodings.
llvm-svn: 120278
2010-11-29 01:00:43 +00:00
Bill Wendling 9600e97c60 Add Thumb encodings for REV instructions.
llvm-svn: 120277
2010-11-29 00:42:50 +00:00
NAKAMURA Takumi 71c8c12d4d tools/Makefile: Fix indentation.
llvm-svn: 120276
2010-11-29 00:20:34 +00:00
NAKAMURA Takumi 142b32535e 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 4fc56f0be7 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 5114d0afe3 test: Add the new feature 'loadable_module'.
llvm-svn: 120273
2010-11-29 00:20:09 +00:00
Bill Wendling 775899eb2e Add more Thumb encodings.
llvm-svn: 120272
2010-11-29 00:18:15 +00:00
Rafael Espindola e5e1f9ad0f Make EmitIntValue non virtual.
llvm-svn: 120271
2010-11-28 23:22:44 +00:00
Rafael Espindola 0710e3771f Forgot the MCPureStreamer::EmitValue in the previous commit.
llvm-svn: 120270
2010-11-28 23:13:47 +00:00
Rafael Espindola a084fd6e9d Move EmitValue to MCObjectStreamer.
llvm-svn: 120269
2010-11-28 23:08:47 +00:00
Jakob Stoklund Olesen 02d6b7e093 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 7aad398e0a 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 c4774795ce Move lowering of TLS_addr32 and TLS_addr64 to X86MCInstLower.
llvm-svn: 120263
2010-11-28 21:16:39 +00:00
Jay Foad 111a31553f PR5207: remove unused methods APInt::Emit() and APInt::Read().
llvm-svn: 120262
2010-11-28 21:05:31 +00:00
Jay Foad 3447fb01c0 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 7e8a99b1c3 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 a7e04b04c5 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 4638b2be63 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 235b66c40f 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 e5b7415b21 Fixed verson of r120245.
Factor some duplicated code into MCObjectStreamer::EmitLabel.

llvm-svn: 120248
2010-11-28 17:18:55 +00:00
Rafael Espindola 1679580cc9 Revert previous patch while I debug the darwin bootstrap failure.
llvm-svn: 120246
2010-11-28 16:22:59 +00:00
Rafael Espindola d4b3feb3f7 Factor some duplicated code into MCObjectStreamer::EmitLabel.
llvm-svn: 120245
2010-11-28 15:54:36 +00:00
Rafael Espindola 707d368bb6 Make EmitSymbolValue non virtual.
llvm-svn: 120244
2010-11-28 15:12:55 +00:00
Rafael Espindola b746531c2c Avoid code duplication in the many unsupported EmitGPRel32Value implementations.
llvm-svn: 120243
2010-11-28 15:09:24 +00:00
Rafael Espindola fd374cbcf7 Make EmitULEB128IntValue and EmitSLEB128IntValue non virtual.
llvm-svn: 120242
2010-11-28 14:56:52 +00:00
Rafael Espindola 164c797676 Move the PTXMCAsmStreamer class to the .cpp file.
llvm-svn: 120241
2010-11-28 14:48:34 +00:00
Rafael Espindola 8a3a7923eb 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 8710e4f1ef 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 bd1a50e68f 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 2d790df105 Add support for NEON VLD2-dup instructions.
llvm-svn: 120236
2010-11-28 06:51:26 +00:00
Bob Wilson f9b96c474f Fix a comment typo.
llvm-svn: 120235
2010-11-28 06:51:19 +00:00
Bob Wilson 04b2c94205 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 62a6f7eda6 Add entry in getTargetNodeName() for ARMISD::VBICIMM.
llvm-svn: 120233
2010-11-28 06:51:11 +00:00
Jakob Stoklund Olesen 67d1a71aa4 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 c5d7ae4d64 llvmc: First stab at better -march handling.
llvm-svn: 120230
2010-11-28 00:31:13 +00:00
Anton Korobeynikov 7283b8d18c Move more PEI-related hooks to TFI
llvm-svn: 120229
2010-11-27 23:05:25 +00:00
Anton Korobeynikov d08fbd19f5 Move callee-saved regs spills / reloads to TFI
llvm-svn: 120228
2010-11-27 23:05:03 +00:00
Jakob Stoklund Olesen 056356d502 Add more tests for erase(). Fix a few exposed bugs.
llvm-svn: 120227
2010-11-27 22:56:53 +00:00
Jakob Stoklund Olesen bb4bece211 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