summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Minor code re-structuring.Evan Cheng2011-03-191-1/+1
| | | | llvm-svn: 127952
* Add support for legalizing UINT_TO_FP of vectors on platforms which doNadav Rotem2011-03-193-1/+60
| | | | | | | | not have native support for this operation (such as X86). The legalized code uses two vector INT_TO_FP operations and is faster than scalarizing. llvm-svn: 127951
* Update Passes.html, part 3: alphabetize descriptions.Eli Friedman2011-03-191-102/+99
| | | | llvm-svn: 127948
* Update Passes.html, part 2: cleanup a bit more dead docs, a few moreEli Friedman2011-03-191-70/+8
| | | | | | description updates. llvm-svn: 127947
* Update Passes.html, part 1: remove passes which were removed from the tree,Eli Friedman2011-03-191-144/+35
| | | | | | | update short descriptions to match those from the options, alphabetize table of contents. llvm-svn: 127946
* Disable test to unbreak Linux. Radar 9156771.Stuart Hastings2011-03-191-1/+1
| | | | llvm-svn: 127945
* Reapply 127939 since Daniel fixed the breakage. <rdar://problem/9012638>Stuart Hastings2011-03-194-9/+13
| | | | llvm-svn: 127944
* Revert 127939. <rdar://problem/9012638>Stuart Hastings2011-03-194-13/+9
| | | | llvm-svn: 127943
* Test case for r127940.Devang Patel2011-03-191-0/+17
| | | | llvm-svn: 127941
* Revise r126127 to address Daniel's comments. <rdar://problem/9012638>Stuart Hastings2011-03-194-9/+13
| | | | llvm-svn: 127939
* Fixed an assert by the ARM disassembler for LDRD_PRE/POST.Johnny Chen2011-03-192-3/+7
| | | | | | | | The relevant instruction table entries were changed sometime ago to no longer take <Rt2> as an operand. Modify ARMDisassemblerCore.cpp to accomodate the change and add a test case. llvm-svn: 127935
* Tweak CrashRecoveryContextCleanup to provide an easy method for clients to ↵Ted Kremenek2011-03-192-6/+23
| | | | | | select between 'delete' and 'destructor' cleanups, and allow the destructor of CrashRecoveryContextCleanupRegister to be pseudo re-entrant. llvm-svn: 127929
* Tweak CrashRecoveryContext::GetCurrent() to return quickly if ↵Ted Kremenek2011-03-191-0/+3
| | | | | | | | 'gCrsahRecoveryEnabled' is false. This avoids us needing to go to thread local storage for the performance sensitive case where we are compiling code. llvm-svn: 127928
* FileCheckize a test.Andrew Trick2011-03-191-7/+16
| | | | | | (one-by-one until valgrind is happy) llvm-svn: 127925
* If an AllocaInst referred by DbgDeclareInst is used by a LoadInst then the ↵Devang Patel2011-03-182-0/+30
| | | | | | LoadInst should also get a corresponding llvm.dbg.value intrinsic. llvm-svn: 127924
* Remove dead code.Devang Patel2011-03-181-2/+0
| | | | llvm-svn: 127923
* Consider debug info intrinsics pointing to null value as dead instructions.Devang Patel2011-03-181-1/+14
| | | | llvm-svn: 127922
* Silence a warning.Jim Grosbach2011-03-181-1/+1
| | | | llvm-svn: 127918
* Add support to the ARM asm parser for the register-shifted-register forms of ↵Owen Anderson2011-03-183-26/+96
| | | | | | basic instructions like ADD. More work left to be done to support other instances of shifter ops in the ISA. llvm-svn: 127917
* Beginnings of MC-JIT code generation.Jim Grosbach2011-03-185-6/+77
| | | | | | | | | | | Proof-of-concept code that code-gens a module to an in-memory MachO object. This will be hooked up to a run-time dynamic linker library (see: llvm-rtdyld for similarly conceptual work for that part) which will take the compiled object and link it together with the rest of the system, providing back to the JIT a table of available symbols which will be used to respond to the getPointerTo*() queries. llvm-svn: 127916
* Match a few more obvious patterns to revsh. rdar://9147637.Evan Cheng2011-03-183-4/+44
| | | | llvm-svn: 127913
* Extend live debug values down the dominator tree by following copies.Jakob Stoklund Olesen2011-03-181-24/+136
| | | | | | | | | | | | | | | | | The llvm.dbg.value intrinsic refers to SSA values, not virtual registers, so we should be able to extend the range of a value by tracking that value through register copies. This greatly improves the debug value tracking for function arguments that for some reason are copied to a second virtual register at the end of the entry block. We only extend the debug value range where its register is killed. All original llvm.dbg.value locations are still respected. Copies from physical registers are ignored. That should not be a problem since the entry block already adds DBG_VALUE instructions for the virtual registers holding the function arguments. llvm-svn: 127912
* Revert r127852; it's apparently causing an ICE on mingw.Eli Friedman2011-03-183-103/+16
| | | | llvm-svn: 127909
* Use lazy parsing in LTO. Unfortunately this is only a 3% time saving forRafael Espindola2011-03-182-8/+27
| | | | | | 'ar'. Have to figure out how to make libLTO even lazier. llvm-svn: 127901
* Clean whitespace.Owen Anderson2011-03-181-8/+8
| | | | llvm-svn: 127900
* Reduce code duplication.Owen Anderson2011-03-181-31/+13
| | | | llvm-svn: 127899
* PTX: Fix various codegen issuesJustin Holewinski2011-03-187-50/+124
| | | | | | | | - Emit mad instead of mad.rn for shader model 1.0 - Emit explicit mov.u32 instructions for reading global variables - (most PTX instructions cannot take global variable immediates) llvm-svn: 127895
* Add llvm-rtdyld support for loading 32-bit code.Jim Grosbach2011-03-181-66/+158
| | | | | | | Factor out the 64-bit specific bits into a helper function and add an equivalent that loads the 32-bit sections. This allows using llvm-rtdyld on ARM. llvm-svn: 127892
* setExecutable() should default to success if there's nothing custom for it.Jim Grosbach2011-03-181-1/+1
| | | | llvm-svn: 127891
* Thumb2 PC-relative loads require a fixup rather than just an immediate.Owen Anderson2011-03-182-1/+8
| | | | llvm-svn: 127888
* Update list of link components for llvm-rtdyld.Oscar Fuentes2011-03-181-1/+1
| | | | llvm-svn: 127887
* Naming conventional tidy up.Jim Grosbach2011-03-181-2/+2
| | | | llvm-svn: 127886
* MachO file loader and execution utility.Jim Grosbach2011-03-185-3/+264
| | | | | | | | | | | Add a bone-simple utility to load a MachO object into memory, look for a function (main) in it, and run that function directly. This will be used as a test and development platform for MC-JIT work regarding symbol resolution, dynamic lookup, etc.. Code by Daniel Dunbar. llvm-svn: 127885
* Avoid creating canonical induction variables for non-native types.Andrew Trick2011-03-1820-19/+30
| | | | | | | | For example, on 32-bit architecture, don't promote all uses of the IV to 64-bits just because one use is a 64-bit cast. Alternate implementation of the patch by Arnaud de Grandmaison. llvm-svn: 127884
* Tidy up.Jim Grosbach2011-03-181-2/+2
| | | | llvm-svn: 127883
* Support explicit argument forms for the X86 string instructions.Joerg Sonnenberger2011-03-183-1/+371
| | | | | | For now, only the default segments are supported. llvm-svn: 127875
* ptx: fix parameter order that is reversedChe-Liang Chiou2011-03-182-5/+12
| | | | llvm-svn: 127874
* ptx: add unconditional and conditional branchChe-Liang Chiou2011-03-186-26/+78
| | | | llvm-svn: 127873
* raw_ostream: [PR6745] Tweak formatting (double)%e for Windows hosts.NAKAMURA Takumi2011-03-182-1/+30
| | | | | | | On MSVCRT and compatible, output of %e is incompatible to Posix by default. Number of exponent digits should be at least 2. "%+03d" FIXME: Implement our formatter in future! llvm-svn: 127872
* Initialize the only-used-with-PPC-double-double parts of the APFloat class. ThisBill Wendling2011-03-181-13/+10
| | | | | | | makes valgrind stop complaining about uninitialized variables being read when it accesses a bitfield (category) that shares its bits with these variables. llvm-svn: 127871
* Simplify the computation of undefined symbols. Instead of walkingRafael Espindola2011-03-182-46/+2
| | | | | | | | | | | | | | | | | | | | | | | functions and initializers, just report the declarations present in the module. The motivation is to open the way for using the lazy module parsing, which should speed up clients that just want a symbol list (nm, ar). This is slightly less precise, but since both -strip-dead-prototypes and -globaldce are part of the standard pipeline, this shouldn't change the result for clang/dragonegg produced binaries. Any decl in an IL file was also put there because a FE expected it to be necessary, so this should not be a problem for "-O0 -emit-llvm". As a sanity check, I have bootstrapped clang on linux and built firefox on both linux and darwin. A clang bootstrap on darwin with LTO fails with or without this patch because, ironically, the linker doesn't like the combination of dead_strip and LTO when building libLTO.so :-) llvm-svn: 127870
* Hoist spills when the same value is known to be in less loopy sibling registers.Jakob Stoklund Olesen2011-03-181-22/+148
| | | | | | | | | | | | | | Stack slot real estate is virtually free compared to registers, so it is advantageous to spill earlier even though the same value is now kept in both a register and a stack slot. Also eliminate redundant spills by extending the stack slot live range underneath reloaded registers. This can trigger a dead code elimination, removing copies and even reloads that were only feeding spills. llvm-svn: 127868
* Some release notes.Rafael Espindola2011-03-181-2/+11
| | | | llvm-svn: 127867
* Tweak CrashRecoveryContextCleanup::createCleanup() to use the 'delete' ↵Ted Kremenek2011-03-181-1/+1
| | | | | | cleanup as opposed to the 'destructor' cleanup (reclaims more memory). llvm-svn: 127865
* tools/lto/LTOModule.cpp: Eliminate an unused variable.NAKAMURA Takumi2011-03-181-1/+0
| | | | llvm-svn: 127859
* llvm-bcanalyzer.cpp: Tweak format string to suppress warnings on mingw32-g++.NAKAMURA Takumi2011-03-181-5/+5
| | | | llvm-svn: 127858
* Accept instructions that read undefined values.Jakob Stoklund Olesen2011-03-181-1/+9
| | | | | | | This is not supposed to happen, but I have seen the x86 rematter getting confused when rematerializing partial redefs. llvm-svn: 127857
* Be more accurate about the slot index reading a register when dealing with defsJakob Stoklund Olesen2011-03-181-4/+20
| | | | | | | | and early clobbers. Assert when trying to find an undefined value. llvm-svn: 127856
* Add new CrashRecoveryContextCleanup subclass: ↵Ted Kremenek2011-03-181-1/+13
| | | | | | CrashRecoveryContextDeleteCleanup. This deletes the object, not just calls its destructor. llvm-svn: 127855
* Check RequiresNullTerminator first, or we might read from an invalid address.Rafael Espindola2011-03-181-1/+1
| | | | llvm-svn: 127853
OpenPOWER on IntegriCloud