Jim Grosbach
ef5b20cd6d
Split out relocation resolution into target-specific bits.
...
llvm-svn: 128173
2011-03-23 22:06:06 +00:00
Owen Anderson
f473d3cff9
The high bit of a Thumb2 ADR's offset is stored in bit 26, not bit 25.
...
This fixes 464.h264ref with the integrated assembler.
llvm-svn: 128172
2011-03-23 22:03:44 +00:00
Jim Grosbach
f7d5f8a831
Fix double-free of Module.
...
The ExecutionEngine constructor already added the module, so there's no
need to call addModule() directly. Doing so causes a double-free of the
Module at program termination.
llvm-svn: 128171
2011-03-23 21:35:02 +00:00
Owen Anderson
b201c7dede
Fix a bug introduced by my patch yesterday: BL is a 4-byte instructions like BLX, rather than a 2-byte instruction like B.
...
llvm-svn: 128169
2011-03-23 21:19:56 +00:00
Andrew Trick
b702dae9b2
Ensure that def-side physreg copies are scheduled above any other uses
...
so the scheduler can't create new interferences on the copies
themselves. Prior to this fix the scheduler could get stuck in a loop
creating copies.
Fixes PR9509.
llvm-svn: 128164
2011-03-23 20:42:39 +00:00
Andrew Trick
ca42e62048
whitespace
...
llvm-svn: 128163
2011-03-23 20:40:18 +00:00
Jim Grosbach
451293fb55
Start of relocation resolution for the runtime dyld library.
...
llvm-svn: 128161
2011-03-23 19:52:00 +00:00
Jim Grosbach
a64f8bf9d5
Make sure to report any errors from the runtime dyld.
...
llvm-svn: 128160
2011-03-23 19:51:34 +00:00
Jakob Stoklund Olesen
c62f168ec5
Don't coalesce identical DBG_VALUE instructions prematurely.
...
Each of these instructions may have a RegsClobberInsn entry that can't be
ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc
merges entries.
llvm-svn: 128155
2011-03-23 18:37:30 +00:00
Oscar Fuentes
69c955a67e
Supports building with a list of targets that does not contain
...
X86. Fixes PR9533.
llvm-svn: 128154
2011-03-23 17:42:13 +00:00
Justin Holewinski
8861d34661
PTX: Improve support for 64-bit addressing
...
- Fix bug in ADDRrr/ADDRri/ADDRii selection for 64-bit addresses
- Add comparison selection for i64
- Add zext selection for i32 -> i64
- Add shl/shr/sha support for i64
llvm-svn: 128153
2011-03-23 16:58:51 +00:00
Anders Carlsson
8681fe2359
Revert r128140 for now.
...
llvm-svn: 128149
2011-03-23 15:51:12 +00:00
Cameron Zwarich
9f72ea0a80
Fix PR9464 by correcting some math that just happened to be right in most cases
...
that were hit in practice.
llvm-svn: 128146
2011-03-23 05:25:55 +00:00
Jakob Stoklund Olesen
6570595e4c
Notify the delegate before removing dead values from a live interval.
...
The register allocator needs to know when the range shrinks.
llvm-svn: 128145
2011-03-23 04:43:16 +00:00
Jakob Stoklund Olesen
d75298c7cd
Allow the allocation of empty live ranges that have uses.
...
Empty ranges may represent undef values.
llvm-svn: 128144
2011-03-23 04:32:51 +00:00
Jakob Stoklund Olesen
660147b1d8
Dump the register map before rewriting.
...
llvm-svn: 128143
2011-03-23 04:32:49 +00:00
Anders Carlsson
556ad25dec
A global variable with internal linkage where all uses are in one function and whose address is never taken is a non-escaping local object and can't alias anything else.
...
llvm-svn: 128140
2011-03-23 02:19:48 +00:00
Andrew Trick
d9c599d01c
Added block number and name to isel debug output.
...
I'm tired of doing this manually for each checkout.
If anyone knows a better way debug isel for non-trivial tests feel
free to revert and let me know how to do it.
llvm-svn: 128132
2011-03-23 01:38:28 +00:00
Douglas Gregor
d11c0d2ab8
Update the Clang attribute emitter to handle attributes of 'version'
...
kind, and fix serialization/deserialization of IdentifierInfo
attributes. These are requires for the new 'availability' attribute.
llvm-svn: 128130
2011-03-23 01:05:46 +00:00
Johnny Chen
b4284e3f90
For ARM Disassembler, start a newline to dump the opcode and friends for an instruction.
...
Change inspired by llvm-bug 9530 submitted by Jyun-Yan You.
llvm-svn: 128122
2011-03-22 23:49:46 +00:00
Johnny Chen
b9309ecef1
Add disassembly test cases for:
...
A8.6.292 VCMPE
llvm-svn: 128120
2011-03-22 23:08:56 +00:00
Devang Patel
c323201836
Remove the test.
...
llvm-svn: 128119
2011-03-22 23:07:03 +00:00
Owen Anderson
7785f055b9
RIT_ARM_ThumbBranch32Bit relocations are not used and should never be generated.
...
This fixes kimwitu++, bullet, and tramp3dv4 with the ARM integrated assembler.
Fixes <rdar://problem/9165738>.
llvm-svn: 128117
2011-03-22 22:52:54 +00:00
Jakob Stoklund Olesen
28ebc380f6
Reapply r128045 and r128051 with fixes.
...
This will extend the ranges of debug info variables in registers until they are
clobbered.
Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on
the stack with DBG_VALUE instructions referring to variables in the frame
pointer. This fixes the gdb test-suite failure.
Fix 2: Don't trace through copies to physical registers setting up call
arguments. These registers are call clobbered, and the source register is more
likely to be a callee-saved register that can be extended through the call
instruction.
llvm-svn: 128114
2011-03-22 22:33:08 +00:00
Johnny Chen
beb7e880a2
LDRT and LDRBT was incorrectly tagged as IndexModeNone during the refactorings (r119821).
...
We now tag them as IndexModePost.
This fixed http://llvm.org/bugs/show_bug.cgi?id=9530 .
llvm-svn: 128113
2011-03-22 22:28:49 +00:00
Devang Patel
bc3c5c15ef
Try to appease buildbot gods.
...
llvm-svn: 128112
2011-03-22 22:13:17 +00:00
Rafael Espindola
1592f3ae24
Add a lto_codegen_compile_to_file to avoid producing a file, reading it to
...
memory and writing it back to disk.
llvm-svn: 128108
2011-03-22 20:57:13 +00:00
Eli Friedman
f9d5010081
A bit more analysis of a memset-related README entry.
...
llvm-svn: 128107
2011-03-22 20:49:53 +00:00
Johnny Chen
a31ae5ca74
Add one more test case for VFP Load/Store Multiple (vpop).
...
llvm-svn: 128106
2011-03-22 20:21:08 +00:00
Johnny Chen
90908a8eeb
A8.6.399 VSTM:
...
VFP Load/Store Multiple Instructions used to embed the IA/DB addressing mode within the
MC instruction; that has been changed so that now, for example, VSTMDDB_UPD and VSTMDIA_UPD
are two instructions. Update the ARMDisassemblerCore.cpp's DisassembleVFPLdStMulFrm()
to reflect the change.
Also add a test case.
llvm-svn: 128103
2011-03-22 20:00:10 +00:00
Eric Christopher
448c6a5632
Migrate the fix in r128041 to ARM's fastisel support as well.
...
Fixes rdar://9169640
llvm-svn: 128100
2011-03-22 19:39:17 +00:00
Rafael Espindola
9e0fcfc02b
We don't need a null terminator for the output file.
...
llvm-svn: 128098
2011-03-22 19:20:47 +00:00
Andrew Trick
63dc418ea3
Revert r128045 and r128051, debug info enhancements.
...
Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem.
llvm-svn: 128097
2011-03-22 19:18:42 +00:00
Jim Grosbach
c703587869
Tidy up.
...
llvm-svn: 128096
2011-03-22 18:22:27 +00:00
Jim Grosbach
92735f5775
Add missing file from previous commit.
...
llvm-svn: 128095
2011-03-22 18:21:14 +00:00
Jim Grosbach
e941bce506
Propogate the error message, not just the error state.
...
llvm-svn: 128094
2011-03-22 18:19:42 +00:00
Jim Grosbach
c11fb437b2
Add simple arg passing to MC-JIT and support for exit() call.
...
Support argument passing simple, common, prototypes directly. More
complicated scenarios will require building up a stub function, which the
MC-JIT isn't set up to handle yet.
Add Intercept.cpp, which is just a copy from ExecutionEngine/JIT for now,
to handle looking looking up external symbol names. This probably more
properly belongs as part of RuntimeDyld. It'll migrate there as things
flesh out more fully.
llvm-svn: 128090
2011-03-22 18:05:27 +00:00
Jim Grosbach
07850c57b2
Trailing whitespace.
...
llvm-svn: 128086
2011-03-22 15:21:58 +00:00
Bruno Cardoso Lopes
c8d8dc9869
Change MRC and MRC2 instructions to model the output register properly
...
llvm-svn: 128085
2011-03-22 15:06:24 +00:00
Che-Liang Chiou
7c5fc3a68f
ptx: add analyze/insert/remove branch
...
llvm-svn: 128084
2011-03-22 14:12:00 +00:00
Eric Christopher
7497603688
Fix comment in header.
...
llvm-svn: 128077
2011-03-22 08:49:56 +00:00
Ted Kremenek
d582517a58
Properly initialize all fields in CrashReporterCleanupContext. This caused the buildbot failure earlier.
...
llvm-svn: 128071
2011-03-22 04:33:13 +00:00
Oscar Fuentes
859b8f3fc1
Updated library dependencies.
...
Now we can remove RuntimeDyld from the LLVM_LINK_COMPONENTS of
tools/lli. CMakeLists.txt LLVM_LINK_COMPONENTS shall not differ from
its companion Makefile LINK_COMPONENTS.
llvm-svn: 128069
2011-03-22 03:58:55 +00:00
Anders Carlsson
8f934f6652
Handle another case that Frits suggested.
...
llvm-svn: 128068
2011-03-22 03:21:01 +00:00
Jim Grosbach
35f357b7d0
Update link components.
...
Also perform the required dark rituals and sacrifices to placate the buildbot
spirits. We shall see if they are appeased...
llvm-svn: 128067
2011-03-22 03:10:14 +00:00
Ted Kremenek
33f7ecabd4
Temporarily stop recovering resources in CrashRecoveryContext while I investigate further why this works on my machine and not on others.
...
llvm-svn: 128065
2011-03-22 02:06:32 +00:00
Ted Kremenek
371ad9a265
Rework CrashRecoveryContextCleanup to provide a simpler way to create cleanup objects, and provide a new cleanup for
...
decrementing reference counts of objects with intrusive reference counts.
llvm-svn: 128055
2011-03-22 01:15:10 +00:00
Ted Kremenek
a686187713
Relax access control on 'Release' method of RefCountedBase.
...
llvm-svn: 128054
2011-03-22 01:15:07 +00:00
Jim Grosbach
e19f7261d5
Hook up the MCJIT to the RuntimeDyld library.
...
Lots of cleanup to make the interfaces prettier, use the JITMemoryManager,
handle multiple functions and modules, etc.. This gets far enough that
the MCJIT compiles and runs code, though.
llvm-svn: 128052
2011-03-22 01:06:42 +00:00
Jakob Stoklund Olesen
ac3cdb2811
Clear map after use.
...
This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32.
llvm-svn: 128051
2011-03-22 01:03:24 +00:00