summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* PR9535: add support for splitting and scalarizing vector ISD::FP_ROUND.Eli Friedman2011-03-232-60/+30
| | | | | | Also cleaning up some duplicated code while I'm here. llvm-svn: 128176
* Reapply Eli's r127852 now that the pre-RA scheduler can spill EFLAGS.Andrew Trick2011-03-231-4/+73
| | | | | | (target-specific branchless method for double-width relational comparisons on x86) llvm-svn: 128175
* Split out relocation resolution into target-specific bits.Jim Grosbach2011-03-231-3/+71
| | | | llvm-svn: 128173
* The high bit of a Thumb2 ADR's offset is stored in bit 26, not bit 25.Owen Anderson2011-03-231-1/+1
| | | | | | This fixes 464.h264ref with the integrated assembler. llvm-svn: 128172
* Fix double-free of Module.Jim Grosbach2011-03-231-1/+0
| | | | | | | | 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
* Fix a bug introduced by my patch yesterday: BL is a 4-byte instructions like ↵Owen Anderson2011-03-231-3/+2
| | | | | | BLX, rather than a 2-byte instruction like B. llvm-svn: 128169
* Ensure that def-side physreg copies are scheduled above any other usesAndrew Trick2011-03-231-0/+9
| | | | | | | | | 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
* whitespaceAndrew Trick2011-03-231-2/+2
| | | | llvm-svn: 128163
* Start of relocation resolution for the runtime dyld library.Jim Grosbach2011-03-231-21/+130
| | | | llvm-svn: 128161
* Make sure to report any errors from the runtime dyld.Jim Grosbach2011-03-231-1/+2
| | | | llvm-svn: 128160
* Don't coalesce identical DBG_VALUE instructions prematurely.Jakob Stoklund Olesen2011-03-231-3/+1
| | | | | | | | 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
* PTX: Improve support for 64-bit addressingJustin Holewinski2011-03-233-21/+72
| | | | | | | | | - 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
* Revert r128140 for now.Anders Carlsson2011-03-231-33/+0
| | | | llvm-svn: 128149
* Fix PR9464 by correcting some math that just happened to be right in most casesCameron Zwarich2011-03-231-11/+10
| | | | | | that were hit in practice. llvm-svn: 128146
* Notify the delegate before removing dead values from a live interval.Jakob Stoklund Olesen2011-03-231-0/+2
| | | | | | The register allocator needs to know when the range shrinks. llvm-svn: 128145
* Allow the allocation of empty live ranges that have uses.Jakob Stoklund Olesen2011-03-231-1/+8
| | | | | | Empty ranges may represent undef values. llvm-svn: 128144
* Dump the register map before rewriting.Jakob Stoklund Olesen2011-03-231-1/+1
| | | | llvm-svn: 128143
* A global variable with internal linkage where all uses are in one function ↵Anders Carlsson2011-03-231-0/+33
| | | | | | and whose address is never taken is a non-escaping local object and can't alias anything else. llvm-svn: 128140
* Added block number and name to isel debug output.Andrew Trick2011-03-231-12/+25
| | | | | | | | 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
* For ARM Disassembler, start a newline to dump the opcode and friends for an ↵Johnny Chen2011-03-221-1/+1
| | | | | | | | instruction. Change inspired by llvm-bug 9530 submitted by Jyun-Yan You. llvm-svn: 128122
* RIT_ARM_ThumbBranch32Bit relocations are not used and should never be generated.Owen Anderson2011-03-221-6/+2
| | | | | | | This fixes kimwitu++, bullet, and tramp3dv4 with the ARM integrated assembler. Fixes <rdar://problem/9165738>. llvm-svn: 128117
* Reapply r128045 and r128051 with fixes.Jakob Stoklund Olesen2011-03-223-53/+88
| | | | | | | | | | | | | | | | 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
* LDRT and LDRBT was incorrectly tagged as IndexModeNone during the ↵Johnny Chen2011-03-221-2/+2
| | | | | | | | | | refactorings (r119821). We now tag them as IndexModePost. This fixed http://llvm.org/bugs/show_bug.cgi?id=9530. llvm-svn: 128113
* A bit more analysis of a memset-related README entry.Eli Friedman2011-03-221-4/+5
| | | | llvm-svn: 128107
* A8.6.399 VSTM:Johnny Chen2011-03-221-12/+2
| | | | | | | | | | | 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
* Migrate the fix in r128041 to ARM's fastisel support as well.Eric Christopher2011-03-221-13/+18
| | | | | | Fixes rdar://9169640 llvm-svn: 128100
* We don't need a null terminator for the output file.Rafael Espindola2011-03-221-4/+8
| | | | llvm-svn: 128098
* Revert r128045 and r128051, debug info enhancements.Andrew Trick2011-03-223-77/+49
| | | | | | Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem. llvm-svn: 128097
* Tidy up.Jim Grosbach2011-03-221-2/+1
| | | | llvm-svn: 128096
* Add missing file from previous commit.Jim Grosbach2011-03-221-0/+161
| | | | llvm-svn: 128095
* Propogate the error message, not just the error state.Jim Grosbach2011-03-221-0/+5
| | | | llvm-svn: 128094
* Add simple arg passing to MC-JIT and support for exit() call.Jim Grosbach2011-03-223-4/+115
| | | | | | | | | | | | | 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
* Trailing whitespace.Jim Grosbach2011-03-225-46/+46
| | | | llvm-svn: 128086
* Change MRC and MRC2 instructions to model the output register properlyBruno Cardoso Lopes2011-03-223-24/+37
| | | | llvm-svn: 128085
* ptx: add analyze/insert/remove branchChe-Liang Chiou2011-03-223-3/+170
| | | | llvm-svn: 128084
* Fix comment in header.Eric Christopher2011-03-221-1/+1
| | | | llvm-svn: 128077
* Properly initialize all fields in CrashReporterCleanupContext. This caused ↵Ted Kremenek2011-03-221-1/+1
| | | | | | the buildbot failure earlier. llvm-svn: 128071
* Handle another case that Frits suggested.Anders Carlsson2011-03-221-2/+4
| | | | llvm-svn: 128068
* Temporarily stop recovering resources in CrashRecoveryContext while I ↵Ted Kremenek2011-03-221-1/+1
| | | | | | investigate further why this works on my machine and not on others. llvm-svn: 128065
* Hook up the MCJIT to the RuntimeDyld library.Jim Grosbach2011-03-223-3/+22
| | | | | | | | 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
* Clear map after use.Jakob Stoklund Olesen2011-03-221-0/+1
| | | | | | This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32. llvm-svn: 128051
* Initialize HasError.Jim Grosbach2011-03-221-0/+2
| | | | llvm-svn: 128049
* Avoid -Wunused-variable in -asserts buildsMatt Beaumont-Gay2011-03-221-6/+4
| | | | llvm-svn: 128048
* Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.Jakob Stoklund Olesen2011-03-223-49/+76
| | | | | | | | | | 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
* Fix fast-isel address mode folding to avoid folding instructionsDan Gohman2011-03-221-16/+22
| | | | | | outside of the current basic block. This fixes PR9500, rdar://9156159. llvm-svn: 128041
* Add support for Thumb interworking addresses for symbol offsets that get ↵Owen Anderson2011-03-211-0/+5
| | | | | | | | constant folded very early. This fixes SPASS with -integrated-as. <rdar://problem/9165399> llvm-svn: 128037
* Build the new RuntimeDyld library.Oscar Fuentes2011-03-211-0/+1
| | | | llvm-svn: 128035
* Library-ize the dyld components of llvm-rtdyld.Jim Grosbach2011-03-214-1/+346
| | | | | | | | | 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
* Simplify.Devang Patel2011-03-211-5/+4
| | | | llvm-svn: 128030
* Fix INT_MIN gotcha pointed out by Eli Friedman.Nick Lewycky2011-03-211-3/+4
| | | | llvm-svn: 128028
OpenPOWER on IntegriCloud