summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Assign node orders to target intrinsics which do not produce results. ↵Evan Cheng2012-03-221-0/+6
| | | | | | rdar://11096639 llvm-svn: 153269
* Refactor the code for visiting instructions out into helper functions.Dan Gohman2012-03-221-245/+271
| | | | llvm-svn: 153267
* Cleanup IVUsers::addUsersIfInteresting.Andrew Trick2012-03-221-12/+15
| | | | | | | Keep the public interface clean, even though LLVM proper does not currently use it. llvm-svn: 153263
* Remove unused simplifyIVUsersAndrew Trick2012-03-221-41/+0
| | | | llvm-svn: 153262
* Remove -enable-iv-rewrite, which has been unsupported since 3.0.Andrew Trick2012-03-221-265/+7
| | | | llvm-svn: 153260
* Added soft fail checks for the disassembler when decoding some corner cases ↵Silviu Baranga2012-03-221-1/+81
| | | | | | of the STRD, STRH, LDRD, LDRH, LDRSH and LDRSB instructions on ARM. llvm-svn: 153252
* Added soft fail cases for the disassembler when decoding LDRSBT, LDRHT or ↵Silviu Baranga2012-03-222-5/+35
| | | | | | LDRSHT instruction on ARM llvm-svn: 153251
* Added soft fail cases for the disassembler when decoding MUL instructions on ↵Silviu Baranga2012-03-221-5/+6
| | | | | | ARM. llvm-svn: 153250
* Remove some unnecessary forward declarations.Craig Topper2012-03-227-12/+0
| | | | llvm-svn: 153245
* Revert a series of commits to MCJIT to get the build working in CMakeChandler Carruth2012-03-2216-952/+1371
| | | | | | | | | | | | | | | (and hopefully on Windows). The bots have been down most of the day because of this, and it's not clear to me what all will be required to fix it. The commits started with r153205, then r153207, r153208, and r153221. The first commit seems to be the real culprit, but I couldn't revert a smaller number of patches. When resubmitting, r153207 and r153208 should be folded into r153205, they were simple build fixes. llvm-svn: 153241
* PPC::DBG_VALUE must use Reg+Imm frame-index elimination even for large ↵Hal Finkel2012-03-221-1/+2
| | | | | | | | offsets. Fixes PR12203. I don't have a small test case yet, but I'll try to construct one. llvm-svn: 153240
* add load/store volatility control to the C API, patch by Yiannis Tsiouris!Chris Lattner2012-03-221-0/+14
| | | | llvm-svn: 153238
* don't use "signed", just something I noticed in patches flying by.Chris Lattner2012-03-221-2/+2
| | | | llvm-svn: 153237
* In erroneous inline assembly we could mistakenly try to access theEric Christopher2012-03-221-1/+5
| | | | | | | | | metadata operand as an actual operand, leading to an assert. Error out in this case. rdar://11007633 llvm-svn: 153234
* [fast-isel] Fold "urem x, pow2" -> "and x, pow2-1". This should fix the 271%Chad Rosier2012-03-221-0/+7
| | | | | | | | | execution-time regression for nsieve-bits on the ARMv7 -O0 -g nightly tester. This may also improve compile-time on architectures that would otherwise generate a libcall for urem (e.g., ARM) or fall back to the DAG selector. rdar://10810716 llvm-svn: 153230
* [PathV2]: Fix bug in create_directories which caused infinite recursion onMichael J. Spencer2012-03-211-5/+6
| | | | | | | | som inputs. Bug found and fix proposed by Kal Conley! llvm-svn: 153225
* Re-factored RuntimeDyld.Danil Malyshev2012-03-217-1044/+749
| | | | | | Added ExecutionEngine/MCJIT tests. llvm-svn: 153221
* Fix ARM disassembly of VST1 and VST2 instructions with writeback. And add testKevin Enderby2012-03-211-0/+19
| | | | | | case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp . llvm-svn: 153218
* (no commit message)Danil Malyshev2012-03-211-0/+5
| | | | llvm-svn: 153208
* Based on this discussion: ↵Danil Malyshev2012-03-219-329/+200
| | | | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20120305/138477.html 1. Declare a virtual function getPointerToNamedFunction() in JITMemoryManager 2. Move the implementation of getPointerToNamedFunction() form JIT/MCJIT to DefaultJITMemoryManager. llvm-svn: 153205
* Checking a build_vector for an all-ones value.Jim Grosbach2012-03-211-5/+14
| | | | | | | | Type legalization can zero-extend the elements of the build_vector node, so, for example, we may have an <8 x i8> with i32 elements of value 255. That should return 'true' for the vector being all ones. llvm-svn: 153203
* [asan] fix one more bug related to long doubleKostya Serebryany2012-03-211-1/+1
| | | | llvm-svn: 153189
* Put Is64BitMemOperand into !defined(NDEBUG) for now.Joerg Sonnenberger2012-03-211-0/+2
| | | | llvm-svn: 153185
* Use a signed value for this enum to avoid spuriuos warnings from gcc.Benjamin Kramer2012-03-212-2/+2
| | | | llvm-svn: 153184
* Teach instsimplify to gracefully degrade in the presence of instructionsChandler Carruth2012-03-211-0/+6
| | | | | | | | | | | | | | | | not attched to a basic block or function. There are conservatively correct answers in these cases, and this makes the analysis more useful in contexts where we have a partially formed bit of IR. I don't have any way to test this directly... suggestions welcome here, but I'm not seeing anything sadly. I only found this using a subsequent patch to the inliner which runs instsimplify on partially inlined instructions, and even then only on a quite large program. I never got a reasonable testcase out of it, and anything I do get is likely to be quite fragile due to requiring an interaction of two different passes, and the only result being a segfault if it goes wrong. llvm-svn: 153176
* Fix generation of the address size override prefix. Add assertions forJoerg Sonnenberger2012-03-211-5/+51
| | | | | | | the invalid cases. At least 16bit operand in 64bit mode is currently not rejected in the parser. llvm-svn: 153166
* misched: fix LiveInterval update for bottom-up schedulingAndrew Trick2012-03-211-3/+13
| | | | llvm-svn: 153162
* misched: trace LiveIntervals after scheduling.Andrew Trick2012-03-211-0/+1
| | | | llvm-svn: 153161
* misched: obvious iterator update fixes for bottom-up.Andrew Trick2012-03-211-0/+6
| | | | llvm-svn: 153160
* misched: cleanup main loopAndrew Trick2012-03-211-10/+14
| | | | llvm-svn: 153159
* misched: fix LI update for bottom-up.Andrew Trick2012-03-211-1/+7
| | | | llvm-svn: 153158
* Add typecast to silence -Wswitch warning introduced by r153153.Craig Topper2012-03-211-1/+1
| | | | llvm-svn: 153155
* Spacing fixes and using 'unsigned' instead of 'int' to index to select ↵Craig Topper2012-03-211-28/+29
| | | | | | shuffle elements for consistency with other shuffle code in X86 backend. llvm-svn: 153154
* Incremental big endian patch by Jack Carter.Akira Hatanaka2012-03-212-13/+30
| | | | | | | | These changes allow us to compile big endian from the command line for 32 bit Mips targets. This patch will result in code and data actually being produced in the correct endianess. llvm-svn: 153153
* Zap some dead code pointed out by Chandler.Eric Christopher2012-03-201-4/+0
| | | | llvm-svn: 153150
* RuntimeDyldMachO has the ability to keep track ofSean Callanan2012-03-202-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | relocations (i.e., pieces of data whose addresses are referred to elsewhere in the binary image) and update the references when the section containing the relocations moves. The way this works is that there is a map from section IDs to lists of relocations. Because the relocations are associated with the section containing the data being referred to, they are updated only when the target moves. However, many data references are relative and also depend on the location of the referrer. To solve this problem, I introduced a new data structure, Referrer, which simply contains the section being referred to and the index of the relocation in that section. These referrers are associated with the source containing the reference that needs to be updated, so now regardless of which end of the relocation moves, the relocation will now be updated correctly. llvm-svn: 153147
* [avx] Add patterns for combining vextractf128 + vmovaps/vmovups/vmobdqu toChad Rosier2012-03-201-0/+17
| | | | | | | | | | | | | | | | | vextractf128 with 128-bit mem dest. Combines vextractf128 $0, %ymm0, %xmm0 vmovaps %xmm0, (%rdi) to vextractf128 $0, %ymm0, (%rdi) rdar://11082570 llvm-svn: 153139
* Assembler should accept redefinitions of unused variable symbols.Jim Grosbach2012-03-202-2/+2
| | | | | | rdar://11027851 llvm-svn: 153137
* Tidy up.Jim Grosbach2012-03-201-3/+2
| | | | llvm-svn: 153136
* Change conditional instructions definitions, e.g. ANDCC, ARMPseudoExpand and ↵Evan Cheng2012-03-202-96/+56
| | | | | | t2PseudoExpand. llvm-svn: 153135
* LoopSimplify bug fix. Handle indirect loop back edges.Andrew Trick2012-03-201-5/+8
| | | | | | | | Do not call SplitBlockPredecessors on a loop preheader when one of the predecessors is an indirectbr. Otherwise, you will hit this assert: !isa<IndirectBrInst>(Preds[i]->getTerminator()) && "Cannot split an edge from an IndirectBrInst" llvm-svn: 153134
* whitespaceAndrew Trick2012-03-201-2/+2
| | | | llvm-svn: 153133
* LSR: teach isSimplifiedLoopNest to handle PHI IVUsers.Andrew Trick2012-03-201-1/+8
| | | | llvm-svn: 153132
* LSR: fix IVUsers isSimplifiedLoopNest to perform a full domtree walkAndrew Trick2012-03-201-19/+23
| | | | | | | | | instead of skipping the current loop. My prior fix was incomplete because of an overzealous compile-time optimization: Better fix for: <rdar://problem/11049788> Segmentation fault: 11 in LoopStrengthReduce llvm-svn: 153131
* remove unused variableMatt Beaumont-Gay2012-03-201-1/+0
| | | | llvm-svn: 153116
* [avx] Add the AddedComplexity to the VINSERTI128 avx2 patterns to giveChad Rosier2012-03-201-1/+1
| | | | | | precedence over the VINSERTF128 avx1 patterns. llvm-svn: 153114
* Require a base pointer for stack realignment when SP may vary dynamically.Bob Wilson2012-03-201-2/+3
| | | | | | | | | | | | | ARMBaseRegisterInfo::canRealignStack was checking for variable-sized objects but not for stack adjustments around calls. Use hasReservedCallFrame() to check for both. The hasBasePointer function was already correctly checking both conditions, so the effect of this was that a base pointer would be used without checking whether the base pointer register could be reserved. I don't have a small testcase for this. <rdar://problem/11075906> llvm-svn: 153110
* Remove some redundant checks.Bob Wilson2012-03-202-3/+2
| | | | | | | ARMFrameLowering::hasReservedCallFrame is already checking for variable sized objects, so there's no point in checking it twice. llvm-svn: 153109
* Whitespace.Chad Rosier2012-03-201-1/+1
| | | | llvm-svn: 153105
* [avx] Move the vextractf128 patterns closer to the vextractf128 def. RemoveChad Rosier2012-03-201-28/+26
| | | | | | whitespace from test case. No functional change intended. llvm-svn: 153103
OpenPOWER on IntegriCloud