Rafael Espindola
6f95023a7f
Move EmitValue to MCObjectStreamer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120269 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 23:08:47 +00:00
Jakob Stoklund Olesen
08d55342e3
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120265 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 22:17:14 +00:00
Jakob Stoklund Olesen
5f456cda98
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120264 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 22:17:11 +00:00
Rafael Espindola
d652dbe720
Move lowering of TLS_addr32 and TLS_addr64 to X86MCInstLower.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120263 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 21:16:39 +00:00
Jay Foad
695ab519e4
PR5207: remove unused methods APInt::Emit() and APInt::Read().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120262 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 21:05:31 +00:00
Jay Foad
e4d19c9eb2
PR5207: change APInt::doubleToBits() and APInt::floatToBits() to be
...
static methods that return a new APInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 21:04:48 +00:00
Chris Lattner
d8f717911d
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120260 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 20:23:50 +00:00
Chris Lattner
a1ac3bbec7
add a function to the C api to get the context out of a module, patch
...
by Eric Dobson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120259 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 20:03:44 +00:00
Jakob Stoklund Olesen
bf953eaba3
Tweak comments to make it clear that we are working in a namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120256 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 18:58:30 +00:00
Nicolas Geoffray
7509ccda93
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 18:00:53 +00:00
Rafael Espindola
ea4afa91eb
Fixed verson of r120245.
...
Factor some duplicated code into MCObjectStreamer::EmitLabel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120248 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 17:18:55 +00:00
Rafael Espindola
ba210243ef
Revert previous patch while I debug the darwin bootstrap failure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120246 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 16:22:59 +00:00
Rafael Espindola
f90a2de72c
Factor some duplicated code into MCObjectStreamer::EmitLabel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120245 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 15:54:36 +00:00
Rafael Espindola
175ccab75f
Make EmitSymbolValue non virtual.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120244 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 15:12:55 +00:00
Rafael Espindola
3e03211625
Avoid code duplication in the many unsupported EmitGPRel32Value implementations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120243 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 15:09:24 +00:00
Rafael Espindola
71e7f9210d
Make EmitULEB128IntValue and EmitSLEB128IntValue non virtual.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120242 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 14:56:52 +00:00
Rafael Espindola
a484f2c405
Move the PTXMCAsmStreamer class to the .cpp file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120241 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 14:48:34 +00:00
Rafael Espindola
e04ed7e45f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120240 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 14:17:56 +00:00
Jakob Stoklund Olesen
9a08ca318e
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120239 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 07:21:48 +00:00
Jakob Stoklund Olesen
180e1247ca
Implement const_iterator::advanceTo().
...
This is a version of find() that always searches forwards and is faster for
local searches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120237 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 07:00:46 +00:00
Bob Wilson
b1dfa7a8e0
Add support for NEON VLD2-dup instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120236 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 06:51:26 +00:00
Bob Wilson
bebfbc560b
Fix a comment typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120235 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 06:51:19 +00:00
Bob Wilson
f3d2f9d4be
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120234 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 06:51:15 +00:00
Bob Wilson
364a72a8e5
Add entry in getTargetNodeName() for ARMISD::VBICIMM.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120233 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 06:51:11 +00:00
Jakob Stoklund Olesen
79283768a3
Speed up simple insertions into an unbranched tree by not creating an iterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120232 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 06:14:33 +00:00
Mikhail Glushenkov
325f69da3d
llvmc: First stab at better -march handling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120230 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-28 00:31:13 +00:00
Anton Korobeynikov
94c5ae0875
Move more PEI-related hooks to TFI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120229 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 23:05:25 +00:00
Anton Korobeynikov
cd775ceff0
Move callee-saved regs spills / reloads to TFI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120228 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 23:05:03 +00:00
Jakob Stoklund Olesen
055942529b
Add more tests for erase(). Fix a few exposed bugs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120227 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 22:56:53 +00:00
Jakob Stoklund Olesen
b0b7214fc9
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120226 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 21:12:36 +00:00
Rafael Espindola
5bf7c534cf
Lower TLS_addr32 and TLS_addr64.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120225 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 20:43:02 +00:00
Rafael Espindola
bfd2d26159
Implement the data16 prefix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 20:29:45 +00:00
Benjamin Kramer
b837f587ed
Remove PIC16 remnants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 18:20:30 +00:00
Daniel Dunbar
71130f8aa1
macho-dump: Add support for --dump-section-data and tweak a few format strings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120219 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:58:16 +00:00
Daniel Dunbar
2208b58b83
macho-dump: Add support for dumping symbol table entries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120218 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:52:53 +00:00
Daniel Dunbar
f2e2a5ff04
macho-dump: Add support for dumping string table data.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120217 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:46:11 +00:00
Daniel Dunbar
90e3e3a429
macho-dump: Add support for dumping relocation entries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120216 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:39:48 +00:00
Daniel Dunbar
2acadbddf6
macho-dump: Add support for dumping sections.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120215 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:33:15 +00:00
Daniel Dunbar
4c55e0db0f
macho-dump: Add support for dumping dysymtab indirect symbol table.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120214 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:26:12 +00:00
Daniel Dunbar
4aeb489043
Add an optional LowerCase argument to hexdigit().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:19:46 +00:00
NAKAMURA Takumi
d420e7b76c
CMake: lit(check.vcproj) can run with multiple configurations on Visual Studio.
...
Unittests need LLVM_BUILD_MODE to pick up each test.
Confirmed on CentOS5, Mingw, MSYS, and with possible configurations on VS8 and VS10.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120212 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:10:11 +00:00
Benjamin Kramer
3946e3b476
Unbreak build for newer GCCs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120205 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 09:08:25 +00:00
Daniel Dunbar
f879f14cef
macho-dump: Add support for dumping symtab and dysymtab commands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120204 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 08:33:44 +00:00
Daniel Dunbar
4ba1f5e001
macho-dump: Add support for dumping segment load commands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120203 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 08:22:29 +00:00
Owen Anderson
35bf4d6d80
Second attempt at fixing the performance regressions introduced
...
by my recent GVN improvement. Looking through a single layer of
PHI nodes when attempting to sink GEPs, we need to iteratively
look through arbitrary PHI nests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120202 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 08:15:55 +00:00
Daniel Dunbar
4581dae9ea
ADT/InMemoryStruct: Add an experimental helper class intended for use in
...
situations where on the common path an API can return a pointer to some direct
memory, but which on an exceptional path may need to return a pointer to a
temporary struct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120201 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 08:11:02 +00:00
Daniel Dunbar
10a049e6cf
raw_ostream::write_escaped: Add a UseHexEscapes argument.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120200 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 07:59:50 +00:00
Daniel Dunbar
590956f24f
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120199 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 07:39:37 +00:00
Daniel Dunbar
a956d8b717
Object/Mach-O: Add header and load command information.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120198 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 07:19:41 +00:00
Bob Wilson
bce55776af
Refactor. Set alignment bit in VLD1-dup instruction classes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120197 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 07:12:02 +00:00