summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Only use blx for external function calls on thumb, these could be fixedEric Christopher2011-02-221-12/+26
| | | | | | | | | up by the dynamic linker, but it's better to use the correct instruction to begin with. Fixes rdar://9011034 llvm-svn: 126176
* Eliminate valgrind warnings from Python on the 32-bit as well.Cameron Zwarich2011-02-221-4/+4
| | | | llvm-svn: 126171
* Merge information about the number of zero, one, and sign bits of live-out ↵Cameron Zwarich2011-02-225-9/+107
| | | | | | | | | registers at phis. This enables us to eliminate a lot of pointless zexts during the DAGCombine phase. This fixes <rdar://problem/8760114>. llvm-svn: 126170
* Have isel visit blocks in reverse postorder rather than an undefined order. ThisCameron Zwarich2011-02-221-2/+5
| | | | | | allows for the information propagated across basic blocks to be merged at phis. llvm-svn: 126169
* Recognize loopz and loopnz as aliases for loope and loopne.Joerg Sonnenberger2011-02-223-0/+19
| | | | | | From Dimitry Andric. llvm-svn: 126168
* Implement xgetbv and xsetbv.Rafael Espindola2011-02-226-1/+26
| | | | | | Patch by Jai Menon. llvm-svn: 126165
* Revert r125960, it's breaking darwin10 bootstrap.Eric Christopher2011-02-212-28/+8
| | | | llvm-svn: 126163
* Skipping over debugvalue instructions to determine whether the split spot is ↵Evan Cheng2011-02-211-0/+3
| | | | | | in a IT block. rdar://9030770 llvm-svn: 126159
* Add more debugging output.Evan Cheng2011-02-211-2/+4
| | | | llvm-svn: 126158
* Handle FK_PCRel_1 and add a test case for this and FK_PCRel_4.Joerg Sonnenberger2011-02-212-0/+37
| | | | llvm-svn: 126157
* Revert r124611 - "Keep track of incoming argument's location while emitting ↵Devang Patel2011-02-2113-144/+32
| | | | | | | | | | | LiveIns." In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body. This requires some coordination with debugger to get this working. - The debugger needs to be aware of prolog_end attribute attached with line table entries. - The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+) llvm-svn: 126155
* Add SplitKit::isOriginalEndpoint and use it to force live range splitting to ↵Jakob Stoklund Olesen2011-02-213-2/+32
| | | | | | | | | | | | | | terminate. An original endpoint is an instruction that killed or defined the original live range before any live ranges were split. When splitting global live ranges, avoid creating local live ranges without any original endpoints. We may still create global live ranges without original endpoints, but such a range won't be split again, and live range splitting still terminates. llvm-svn: 126151
* Fixed a bug in the X86 disassembler where a member of theSean Callanan2011-02-212-5/+5
| | | | | | | | X86 instruction decode structure was being interpreted as being in units of bits, although it is actually stored in units of bytes. llvm-svn: 126147
* End the line if we return early. Radar 9012638.Stuart Hastings2011-02-211-1/+3
| | | | llvm-svn: 126141
* Add a convenience tool for doing comparison builds of the LLVMDavid Greene2011-02-211-0/+706
| | | | | | | ecosystem. This is a handy utility for checking changes before committing them to the repository. llvm-svn: 126136
* Better OpenBSD support, patch by Amit Kulkarni. I have no way to testChris Lattner2011-02-211-0/+2
| | | | | | that this doesn't break gold, but it seems reasonable to me. llvm-svn: 126135
* Add XCore intrinsics for various instructions on ports.Richard Osborne2011-02-213-2/+74
| | | | llvm-svn: 126132
* Test case for r126127. Radar 9012638.Stuart Hastings2011-02-211-0/+5
| | | | llvm-svn: 126131
* The stack should be 16 byte aligned on 32 bit solaris. Patch by Yuri.Duncan Sands2011-02-212-3/+4
| | | | llvm-svn: 126130
* If the phi node was used by an unreachable instruction that ends up usingDuncan Sands2011-02-212-3/+4
| | | | | | | | | | | | itself without going via a phi node then we could return false here in spite of making a change. Also, tweak the comment because this method can (and always could) return true without deleting the original phi node. For example, if the phi node was used by a read-only invoke instruction which is used by another phi node phi2 which is only used by and only uses the invoke, then phi2 would be deleted but not the invoke instruction and not the original phi node. llvm-svn: 126129
* Fix to correctly support attribute((section("__DATA, __common"))).Stuart Hastings2011-02-212-8/+18
| | | | | | Radar 9012638. llvm-svn: 126127
* a serious "compare CSE" issue that is nontrivial to get right,Chris Lattner2011-02-211-0/+69
| | | | | | but which is responsible for us doing really bad things to 256.bzip2. llvm-svn: 126126
* fix a crasher in disabled code (on variable stride loops)Chris Lattner2011-02-211-1/+1
| | | | llvm-svn: 126125
* Simplify RecursivelyDeleteDeadPHINode. The only functionality changeDuncan Sands2011-02-212-28/+22
| | | | | | | | should be that if the phi is used by a side-effect free instruction with no uses then the phi and the instruction now get zapped (checked by the unittest). llvm-svn: 126124
* Target/X86/X86FastISel: [PR6275] Fix Win32's dllimport function with fastisel.NAKAMURA Takumi2011-02-212-2/+11
| | | | | | | "dllimport" function must not be GlobalVariable, but Function. It is enough to check with GlobalValue. test/CodeGen/X86/dll-linkage.ll is updated to check llc -O0. llvm-svn: 126110
* Generate correct Sparc32 ABI compliant code for functions that return a struct.Venkatraman Govindaraju2011-02-216-12/+89
| | | | llvm-svn: 126108
* CMake: Define LLVM_INCLUDE_TESTS in cmake/modules/HandleLLVMOptions.cmake. ↵NAKAMURA Takumi2011-02-212-1/+1
| | | | | | It affects testing stuff on clang-standalone build. llvm-svn: 126107
* CMake: Fix breakage on clang standalone build.NAKAMURA Takumi2011-02-211-1/+1
| | | | llvm-svn: 126106
* add a missed loop deletion case.Chris Lattner2011-02-211-0/+14
| | | | llvm-svn: 126103
* Add some (disabled code) to print out negative strides.Chris Lattner2011-02-211-3/+15
| | | | llvm-svn: 126102
* add an idiom that loop idiom could theoretically catch.Chris Lattner2011-02-211-0/+10
| | | | llvm-svn: 126101
* A lo/hi mul has higher latency than an imul r,ri, e.g. 5 cycles compared to 3Cameron Zwarich2011-02-211-35/+0
| | | | | | on Core 2 and Nehalem, so the code we generate is better than GCC's here. llvm-svn: 126100
* Use a vector of pairs to implement the section stack, not twoJoerg Sonnenberger2011-02-212-23/+18
| | | | | | independent vectors. llvm-svn: 126099
* The signed version of our "magic number" computation for the integer ↵Cameron Zwarich2011-02-214-8/+24
| | | | | | | | | | | | | approximation of a constant had a minor typo introduced when copying it from the book, which caused it to favor negative approximations over positive approximations in many cases. Positive approximations require fewer operations beyond the multiplication. In the case of division by 3, we still generate code that is a single instruction larger than GCC's code. llvm-svn: 126097
* Put targets on folders, if the IDE supports the feature.Oscar Fuentes2011-02-2011-6/+26
| | | | | | Requires CMake 2.8.3 or newer. llvm-svn: 126092
* Add some limited support for labels in org directives. Hopefully enough to fixRafael Espindola2011-02-202-1/+30
| | | | | | PR9245. llvm-svn: 126091
* Dispose modules early and only create codegen when the plugin is beingRafael Espindola2011-02-201-5/+19
| | | | | | used by the linker and not by nm or ar. llvm-svn: 126089
* Make RecursivelyDeleteDeadPHINode delete a phi node that has no users and add aNick Lewycky2011-02-203-50/+17
| | | | | | | | | test for that. With this change, test/CodeGen/X86/codegen-dce.ll no longer finds any instructions to DCE, so delete the test. Also renamed J and JP to I and IP in RecursivelyDeleteDeadPHINode. llvm-svn: 126088
* Fix some memory leaks and avoid looking in the hash tables twice.Rafael Espindola2011-02-202-35/+53
| | | | | | libxul links in 7m0.403s. llvm-svn: 126085
* Remove the link to Projects.html. It is useless for people working onOscar Fuentes2011-02-201-2/+0
| | | | | | Visual Studio. llvm-svn: 126083
* Move "A | ~(A & ?) -> -1" from InstCombine to InstructionSimplify.Benjamin Kramer2011-02-202-16/+18
| | | | llvm-svn: 126082
* InstCombine: Add a bunch of combines of the form x | (y ^ z).Benjamin Kramer2011-02-202-0/+135
| | | | | | | | | We usually catch this kind of optimization through InstSimplify's distributive magic, but or doesn't distribute over xor in general. "A | ~(A | B) -> A | ~B" hits 24 times on gcc.c. llvm-svn: 126081
* Fix 9267; Add vector zext support.Nadav Rotem2011-02-203-5/+78
| | | | | | | | The DAGCombiner folds the zext into complex load instructions. This patch prevents this optimization on vectors since none of the supported targets knows how to perform load+vector_zext in one instruction. llvm-svn: 126080
* Teach RecursivelyDeleteDeadPHINodes to handle multiple self-references. PatchNick Lewycky2011-02-203-6/+71
| | | | | | by Andrew Clinton! llvm-svn: 126077
* Instead of keeping two Value*->id# mappings, keep one Value->Value mapping andNick Lewycky2011-02-201-12/+14
| | | | | | | one Value set. This is faster because we only need to use the set when there isn't already an entry in the map. No functionality change! llvm-svn: 126076
* If both operands are loads from stores in memory we can't use movlpd/movlpsEric Christopher2011-02-201-0/+4
| | | | | | | | | since one needs to be a register operand. Just use movss instead of forcing an operand into a register. Fixes PR9239 llvm-svn: 126072
* This patch lets LLDB build as an LLVM subproject. LLDB is not built inStephen Wilson2011-02-201-1/+6
| | | | | | | | | | | | parallel with the rest of the tools directory as it depends on Clang. This patch was first applied in r125956 and subsequently reverted in r125964 as it broke in-tree builds. Makefile.rules was fixed up in r126070 to handle missing optional directories for the in-tree case, so it should be safe now to bring this patch back in. llvm-svn: 126071
* Do not try to descend into optional build directories if they do notStephen Wilson2011-02-201-1/+3
| | | | | | | exist. This makes the build logic symmetric for both the in tree and out of tree cases. llvm-svn: 126070
* Use explicit add_subdirectory's for LLVM target sublibraries insteadOscar Fuentes2011-02-2017-11/+42
| | | | | | | | | of testing for its presence at cmake time. This way the build automatically regenerates the makefiles when a svn update brings in a new sublibrary. llvm-svn: 126068
* Fix typo.Nick Lewycky2011-02-201-1/+1
| | | | llvm-svn: 126065
OpenPOWER on IntegriCloud