Owen Anderson
6149a34102
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
ec0ac3ca40
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
30350cdbdf
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
Eli Friedman
822e7bc061
A bit more analysis of a memset-related README entry.
...
llvm-svn: 128107
2011-03-22 20:49:53 +00:00
Johnny Chen
230268261b
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
a5a779ef45
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
2475adce37
We don't need a null terminator for the output file.
...
llvm-svn: 128098
2011-03-22 19:20:47 +00:00
Andrew Trick
b0f98bb5e9
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
5cc5eef0c6
Tidy up.
...
llvm-svn: 128096
2011-03-22 18:22:27 +00:00
Jim Grosbach
333bf57961
Add missing file from previous commit.
...
llvm-svn: 128095
2011-03-22 18:21:14 +00:00
Jim Grosbach
40411cc409
Propogate the error message, not just the error state.
...
llvm-svn: 128094
2011-03-22 18:19:42 +00:00
Jim Grosbach
d52744086f
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
e14460ba37
Trailing whitespace.
...
llvm-svn: 128086
2011-03-22 15:21:58 +00:00
Bruno Cardoso Lopes
f922b20922
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
7413080cea
ptx: add analyze/insert/remove branch
...
llvm-svn: 128084
2011-03-22 14:12:00 +00:00
Eric Christopher
b572196a99
Fix comment in header.
...
llvm-svn: 128077
2011-03-22 08:49:56 +00:00
Ted Kremenek
857e535520
Properly initialize all fields in CrashReporterCleanupContext. This caused the buildbot failure earlier.
...
llvm-svn: 128071
2011-03-22 04:33:13 +00:00
Anders Carlsson
1cc8073bb3
Handle another case that Frits suggested.
...
llvm-svn: 128068
2011-03-22 03:21:01 +00:00
Ted Kremenek
9931652775
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
Jim Grosbach
348a548381
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
c6f4af028d
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
Jim Grosbach
4df86ce359
Initialize HasError.
...
llvm-svn: 128049
2011-03-22 00:42:19 +00:00
Matt Beaumont-Gay
bfd23e4009
Avoid -Wunused-variable in -asserts builds
...
llvm-svn: 128048
2011-03-22 00:37:28 +00:00
Jakob Stoklund Olesen
9c057ee440
Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.
...
These ranges get completely jumbled by the post-ra scheduler, and it is not
really reasonable to expect it to make sense of them.
Instead, teach DwarfDebug to notice when user variables in registers are
clobbered, and terminate the ranges there.
llvm-svn: 128045
2011-03-22 00:21:41 +00:00
Dan Gohman
c1783b31a4
Fix fast-isel address mode folding to avoid folding instructions
...
outside of the current basic block. This fixes PR9500, rdar://9156159.
llvm-svn: 128041
2011-03-22 00:04:35 +00:00
Owen Anderson
9746286bec
Add support for Thumb interworking addresses for symbol offsets that get constant folded very early.
...
This fixes SPASS with -integrated-as. <rdar://problem/9165399>
llvm-svn: 128037
2011-03-21 23:13:43 +00:00
Oscar Fuentes
e4840e2918
Build the new RuntimeDyld library.
...
llvm-svn: 128035
2011-03-21 23:07:53 +00:00
Jim Grosbach
f016b0a359
Library-ize the dyld components of llvm-rtdyld.
...
Move the dynamic linking functionality of the llvm-rtdyld program into an
ExecutionEngine support library. Update llvm-rtdyld to just load an object
file into memory, use the library to process it, then run the _main()
function, if one is found.
llvm-svn: 128031
2011-03-21 22:15:52 +00:00
Devang Patel
17bbd7f495
Simplify.
...
llvm-svn: 128030
2011-03-21 22:04:45 +00:00
Nick Lewycky
f0469af63e
Fix INT_MIN gotcha pointed out by Eli Friedman.
...
llvm-svn: 128028
2011-03-21 21:40:32 +00:00
Ted Kremenek
ab1a242ead
Provide a means for CrashRecovery clients to determine if code is currently running while crash recovery cleanups are being processed.
...
llvm-svn: 128008
2011-03-21 18:38:03 +00:00
Eric Christopher
1b4b1e559a
Grammar-o.
...
llvm-svn: 128004
2011-03-21 18:06:21 +00:00
Anders Carlsson
4dd420f193
More cleanups to the OptimizeEmptyGlobalCXXDtors GlobalOpt function.
...
llvm-svn: 127997
2011-03-21 14:54:40 +00:00
Bill Wendling
00f0cddfd4
We need to pass the TargetMachine object to the InstPrinter if we are printing
...
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.
This is part of a work-in-progress.
llvm-svn: 127986
2011-03-21 04:13:46 +00:00
Anders Carlsson
701822a48e
As suggested by Nick Lewycky, ignore debugging intrinsics when trying to decide whether a destructor is empty or not.
...
llvm-svn: 127985
2011-03-21 02:42:27 +00:00
Nick Lewycky
d078183725
Fix comments
...
llvm-svn: 127984
2011-03-21 02:26:01 +00:00
Eli Friedman
8e15a661bf
This README entry was fixed recently.
...
llvm-svn: 127982
2011-03-21 01:33:03 +00:00
Evan Cheng
0663f23bd8
Re-apply r127953 with fixes: eliminate empty return block if it has no predecessors; update dominator tree if cfg is modified.
...
llvm-svn: 127981
2011-03-21 01:19:09 +00:00
Anders Carlsson
336fd90f4d
Don't try to eliminate invokes to __cxa_atexit.
...
llvm-svn: 127976
2011-03-20 20:21:33 +00:00
Anders Carlsson
fcec2f519a
Don't segfault on mutual recursion, as pointed out by Frits.
...
llvm-svn: 127975
2011-03-20 20:16:43 +00:00
Anders Carlsson
48a44911d3
Address comments from Frits van Bommel.
...
llvm-svn: 127974
2011-03-20 19:51:13 +00:00
Jakob Stoklund Olesen
35502423de
Process all dead defs after rematerializing during splitting.
...
llvm-svn: 127973
2011-03-20 19:46:23 +00:00
Rafael Espindola
1557fd6d39
Write the section table and the section data in the same order that
...
gun as does. This makes it a lot easier to compare the output of both
as the addresses are now a lot closer.
llvm-svn: 127972
2011-03-20 18:44:20 +00:00
Anders Carlsson
ee6bc70d2f
Add an optimization to GlobalOpt that eliminates calls to __cxa_atexit, if the function passed is empty.
...
llvm-svn: 127970
2011-03-20 17:59:11 +00:00
Benjamin Kramer
dce83c522c
Avoid initializing posix_spawn_file_actions_t if not used.
...
- glibc falls back to fork+exec if a file actions object is present.
- On BSDs this saves a malloc.
llvm-svn: 127969
2011-03-20 15:52:24 +00:00
Jakob Stoklund Olesen
e55003fb04
Also eliminate redundant spills downstream of inserted reloads.
...
This can happen when multiple sibling registers are spilled after live range
splitting.
llvm-svn: 127965
2011-03-20 05:44:58 +00:00
Jakob Stoklund Olesen
39488642d3
Change an argument to a LiveInterval instead of a register number to save some redundant lookups.
...
llvm-svn: 127964
2011-03-20 05:44:55 +00:00
Jakob Stoklund Olesen
ccacd0df19
Replace a broken LiveInterval::MergeValueInAsValue() with something simpler.
...
llvm-svn: 127960
2011-03-19 23:02:49 +00:00
Jakob Stoklund Olesen
8698507fe1
Add debug output.
...
llvm-svn: 127959
2011-03-19 23:02:47 +00:00
Daniel Dunbar
327cd36f74
Revert r127953, "SimplifyCFG has stopped duplicating returns into predecessors
...
to canonicalize IR", it broke a lot of things.
llvm-svn: 127954
2011-03-19 21:47:14 +00:00