Commit Graph

96472 Commits

Author SHA1 Message Date
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
NAKAMURA Takumi c66906a6cb test/CMakeLists.txt: Implement the target "check-all". For now, it has no dependencies.
llvm-svn: 120280
2010-11-29 01:18:56 +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
Anders Carlsson acf877be12 Don't store the maximum alignment, we can trivially compute it.
llvm-svn: 120268
2010-11-28 23:06:23 +00:00
Nico Weber dcf6fc5dc4 Revert parts of r120266 that I did not mean to commit
llvm-svn: 120267
2010-11-28 22:58:38 +00:00
Nico Weber 20c9f1db48 Minor whitespace and comment fixes. No functionality change.
llvm-svn: 120266
2010-11-28 22:53:37 +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
Howard Hinnant 6fd5c65095 Minor fixup in <ratio> and add optional support for shared_mutex and upgrade_mutex which must be opted into with #define _LIBCPP_SHARED_LOCK
llvm-svn: 120258
2010-11-28 19:41:07 +00:00
Anders Carlsson a459adb2ff More work on laying out virtual bases.
llvm-svn: 120257
2010-11-28 19:18: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
Chris Lattner 7f91be4e3f tighten up operator= to ensure we don't get multiple owners with the same FD.
wouldn't move ctors be nice? :)

llvm-svn: 120255
2010-11-28 18:44:10 +00:00
Chris Lattner 19e0fd0b2b fix typo
llvm-svn: 120254
2010-11-28 18:19:13 +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
Anders Carlsson 3378d870d2 BuildVirtualCall doesn't need to take a reference to a pointer.
llvm-svn: 120252
2010-11-28 17:53:32 +00:00
Anders Carlsson e8ba473ed2 Make the destructor be the 'vtable anchor' of the CGCXXABI class.
llvm-svn: 120251
2010-11-28 17:50:09 +00:00
Anders Carlsson fdee32f8ed Move CGCXXABI functions to CGCXXABI.cpp
llvm-svn: 120250
2010-11-28 17:49:03 +00:00
Anders Carlsson 81f6f3626e Add a CGCXXABI.cpp file.
llvm-svn: 120249
2010-11-28 17:46:52 +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
Anders Carlsson 66bbf50877 Look through parentheses when deciding whether an expr is a temporary object. Fixes PR8683.
llvm-svn: 120247
2010-11-28 16:40:49 +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
Chandler Carruth 7e1fd053d5 Add GCC 4.4.5 for Gentoo, and order them in a more sensible way. This allows
Gentoo systems with multiple versions to pick up the newest one first. This is
especially important with Gentoo because some of the older versions are left on
systems in strange states.

llvm-svn: 120238
2010-11-28 07:20:14 +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