| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Also cleaning up some duplicated code while I'm here.
llvm-svn: 128176
|
|
|
|
|
|
| |
(target-specific branchless method for double-width relational comparisons on x86)
llvm-svn: 128175
|
|
|
|
| |
llvm-svn: 128173
|
|
|
|
|
|
| |
This fixes 464.h264ref with the integrated assembler.
llvm-svn: 128172
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
BLX, rather than a 2-byte instruction like B.
llvm-svn: 128169
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 128163
|
|
|
|
| |
llvm-svn: 128161
|
|
|
|
| |
llvm-svn: 128160
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 128149
|
|
|
|
|
|
| |
that were hit in practice.
llvm-svn: 128146
|
|
|
|
|
|
| |
The register allocator needs to know when the range shrinks.
llvm-svn: 128145
|
|
|
|
|
|
| |
Empty ranges may represent undef values.
llvm-svn: 128144
|
|
|
|
| |
llvm-svn: 128143
|
|
|
|
|
|
| |
and whose address is never taken is a non-escaping local object and can't alias anything else.
llvm-svn: 128140
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
instruction.
Change inspired by llvm-bug 9530 submitted by Jyun-Yan You.
llvm-svn: 128122
|
|
|
|
|
|
|
| |
This fixes kimwitu++, bullet, and tramp3dv4 with the ARM integrated assembler.
Fixes <rdar://problem/9165738>.
llvm-svn: 128117
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
refactorings (r119821).
We now tag them as IndexModePost.
This fixed http://llvm.org/bugs/show_bug.cgi?id=9530.
llvm-svn: 128113
|
|
|
|
| |
llvm-svn: 128107
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Fixes rdar://9169640
llvm-svn: 128100
|
|
|
|
| |
llvm-svn: 128098
|
|
|
|
|
|
| |
Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem.
llvm-svn: 128097
|
|
|
|
| |
llvm-svn: 128096
|
|
|
|
| |
llvm-svn: 128095
|
|
|
|
| |
llvm-svn: 128094
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 128086
|
|
|
|
| |
llvm-svn: 128085
|
|
|
|
| |
llvm-svn: 128084
|
|
|
|
| |
llvm-svn: 128077
|
|
|
|
|
|
| |
the buildbot failure earlier.
llvm-svn: 128071
|
|
|
|
| |
llvm-svn: 128068
|
|
|
|
|
|
| |
investigate further why this works on my machine and not on others.
llvm-svn: 128065
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32.
llvm-svn: 128051
|
|
|
|
| |
llvm-svn: 128049
|
|
|
|
| |
llvm-svn: 128048
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
outside of the current basic block. This fixes PR9500, rdar://9156159.
llvm-svn: 128041
|
|
|
|
|
|
|
|
| |
constant folded very early.
This fixes SPASS with -integrated-as. <rdar://problem/9165399>
llvm-svn: 128037
|
|
|
|
| |
llvm-svn: 128035
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 128030
|
|
|
|
| |
llvm-svn: 128028
|