summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Re-factored RuntimeDyld.Danil Malyshev2012-03-2156-1071/+1823
| | | | | | Added ExecutionEngine/MCJIT tests. llvm-svn: 153221
* Fix ARM disassembly of VST1 and VST2 instructions with writeback. And add testKevin Enderby2012-03-213-0/+387
| | | | | | case for all opcodes handed by DecodeVSTInstruction() in ARMDisassembler.cpp . llvm-svn: 153218
* Fix windows compilation warning. Patch by Micah.Jan Sjödin2012-03-211-1/+1
| | | | llvm-svn: 153215
* Add a ${pathsep} variable to lit that expands to : (or ; on win32).Nico Weber2012-03-211-0/+1
| | | | | | | | This is in braces so that it doesn't conflict with the existing %p. It uses braces instead of parens because parens would have to be regex-escaped. llvm-svn: 153213
* (no commit message)Danil Malyshev2012-03-212-0/+11
| | | | llvm-svn: 153208
* Missed getPointerToNamedFunction() declaration.Danil Malyshev2012-03-211-0/+4
| | | | llvm-svn: 153207
* Based on this discussion: ↵Danil Malyshev2012-03-2111-329/+215
| | | | | | | | | 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
* [python] Add some paths where to find test binaryAnders Waldenborg2012-03-211-0/+2
| | | | | | | Adds /usr/lib/debug early to list, as some systems (debian) have unstripped libs in there Adds /lib/i386-linux-gnu for systems that does multiarch (debian) llvm-svn: 153174
* [python] Mark get_test_binary as not being a testAnders Waldenborg2012-03-211-0/+1
| | | | | | | get_test_binary is a helper method, not a test, make sure nosetests doesn't pick it up as a test. llvm-svn: 153173
* lit/TestRunner.py: [Win32] Rework WinWaitReleased() again! "win32file" from ↵NAKAMURA Takumi2012-03-211-28/+41
| | | | | | | | | | | Python Win32 Extensions. We can simply confirm the handle released to open it with EXCLUSIVE. Attempting renaming was bad. Disable win32file at ImportError. Thanks to Francois to let me know. FIXME: Could we report warning or notification if win32file were not found? llvm-svn: 153172
* Finish organizing C API docs.Gregory Szorc2012-03-211-67/+194
| | | | | | | | | | Remaining "uncategorized" functions have been organized into their proper place in the hierarchy. Some functions were moved around so groups are defined together. No code changes were made. llvm-svn: 153169
* Fix generation of the address size override prefix. Add assertions forJoerg Sonnenberger2012-03-212-5/+64
| | | | | | | the invalid cases. At least 16bit operand in 64bit mode is currently not rejected in the parser. llvm-svn: 153166
* I meant to disable this test, not XFAIL itAndrew Trick2012-03-211-2/+2
| | | | llvm-svn: 153165
* misched: beginning to add unit testsAndrew Trick2012-03-211-0/+20
| | | | llvm-svn: 153163
* 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
* Organize LLVM C API docs into doxygen modules; add docsGregory Szorc2012-03-2116-109/+1622
| | | | | | | | | | | | | | | | This gives a lot of love to the docs for the C API. Like Clang's documentation, the C API is now organized into a Doxygen "module" (LLVMC). Each C header file is a child of the main module. Some modules (like Core) have a hierarchy of there own. The produced documentation is thus better organized (before everything was in one monolithic list). This patch also includes a lot of new documentation for APIs in Core.h. It doesn't document them all, but is better than none. Function docs are missing @param and @return annotation, but the documentation body now commonly provides help details (like the expected llvm::Value sub-type to expect). llvm-svn: 153157
* 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-213-13/+75
| | | | | | | | 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
* Make sure ImmutableSet never inserts Tombstone/Entry into DenseMap.Anna Zaks2012-03-201-2/+7
| | | | | | | | | | | | ImmutAVLTree uses random unsigned values as keys into a DenseMap, which could possibly happen to be the same value as the Tombstone or Entry keys in the DenseMap. Test case is hard to come up with. We randomly get failures on the internal static analyzer bot, which most likely hits this issue (hard to be 100% sure without the full stack). llvm-svn: 153148
* 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
* Fix test case from r153135.Chad Rosier2012-03-201-1/+1
| | | | llvm-svn: 153140
* [avx] Add patterns for combining vextractf128 + vmovaps/vmovups/vmobdqu toChad Rosier2012-03-202-0/+106
| | | | | | | | | | | | | | | | | 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-203-2/+3
| | | | | | 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-202-5/+49
| | | | | | | | 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-202-1/+40
| | | | llvm-svn: 153132
* LSR: fix IVUsers isSimplifiedLoopNest to perform a full domtree walkAndrew Trick2012-03-202-19/+96
| | | | | | | | | 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
* Reserve number of MI operands to accom,odate complex patterns.Evan Cheng2012-03-201-1/+4
| | | | llvm-svn: 153125
* 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-202-29/+26
| | | | | | whitespace from test case. No functional change intended. llvm-svn: 153103
* Fix assembling ARM vst2 instructions with double-spaced registers.Kevin Enderby2012-03-203-1/+9
| | | | llvm-svn: 153099
* ARM non-scattered MachO relocations for movw/movt.Jim Grosbach2012-03-202-22/+81
| | | | | | | | Needed when building -mdynamic-no-pic code. rdar://10459256 llvm-svn: 153097
* Fix test.Chad Rosier2012-03-201-1/+1
| | | | llvm-svn: 153095
OpenPOWER on IntegriCloud