Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Refactor getActionType and getTypeToTransformTo ; place all of the 'decision' | Nadav Rotem | 2011-05-18 | 1 | -1/+1 | |
| | | | | | | code in one place. llvm-svn: 131534 | |||||
* | Misc. code cleanups. | Dan Gohman | 2011-05-17 | 1 | -60/+59 | |
| | | | | llvm-svn: 131497 | |||||
* | Delete unused variables. | Dan Gohman | 2011-05-16 | 1 | -7/+5 | |
| | | | | llvm-svn: 131430 | |||||
* | Trim #includes. | Dan Gohman | 2011-05-16 | 1 | -7/+0 | |
| | | | | llvm-svn: 131429 | |||||
* | Fix whitespace and 80-column violations. | Dan Gohman | 2011-05-16 | 1 | -10/+10 | |
| | | | | llvm-svn: 131428 | |||||
* | Since I can't reproduce the failures from 131261, re-trying with a | Stuart Hastings | 2011-05-13 | 1 | -2/+6 | |
| | | | | | | simplified version. <rdar://problem/9298790> llvm-svn: 131274 | |||||
* | Revert 131266 and 131261 due to buildbot complaints. | Stuart Hastings | 2011-05-13 | 1 | -9/+2 | |
| | | | | | | rdar://problem/9298790 llvm-svn: 131269 | |||||
* | Non-fast-isel followup to 129634; correctly handle branches controlled | Stuart Hastings | 2011-05-12 | 1 | -2/+9 | |
| | | | | | | | | | | | | | by non-CMP expressions. The executable test case (129821) would test this as well, if we had an "-O0 -disable-arm-fast-isel" LLVM-GCC tester. Alas, the ARM assembly would be very difficult to check with FileCheck. The thumb2-cbnz.ll test is affected; it generates larger code (tst.w vs. cmp #0), but I believe the new version is correct. rdar://problem/9298790 llvm-svn: 131261 | |||||
* | Correctly walk through nested and adjacent CALLSEQ_START nodes. No | Stuart Hastings | 2011-05-10 | 1 | -1/+2 | |
| | | | | | | | test case; I've only seen this on a release branch, and I can't get it to reproduce on trunk. rdar://problem/7662569 llvm-svn: 131152 | |||||
* | Rewrite the expander for umulo/smulo to remember to sign extend the input | Eric Christopher | 2011-04-20 | 1 | -10/+58 | |
| | | | | | | | | | manually and pass all (now) 4 arguments to the mul libcall. Add a new ExpandLibCall for just this (copied gratuitously from type legalization). Fixes rdar://9292577 llvm-svn: 129842 | |||||
* | Delete unnecessary variable. <rdar://problem/7662569> | Stuart Hastings | 2011-04-19 | 1 | -11/+4 | |
| | | | | llvm-svn: 129796 | |||||
* | Support nested CALLSEQ_BEGIN/END; necessary for ARM byval support. ↵ | Stuart Hastings | 2011-04-19 | 1 | -42/+56 | |
| | | | | | | <rdar://problem/7662569> llvm-svn: 129761 | |||||
* | Fix divmod libcall lowering. Convert to {S|U}DIVREM first and then expand ↵ | Evan Cheng | 2011-04-16 | 1 | -71/+65 | |
| | | | | | | the node to a libcall. rdar://9280991 llvm-svn: 129633 | |||||
* | Fix a ton of comment typos found by codespell. Patch by | Chris Lattner | 2011-04-15 | 1 | -1/+1 | |
| | | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558 | |||||
* | Revert 123704; it broke threaded LLVM. | Stuart Hastings | 2011-04-05 | 1 | -9/+15 | |
| | | | | llvm-svn: 128868 | |||||
* | Issue libcalls __udivmod*i4 / __divmod*i4 for div / rem pairs. | Evan Cheng | 2011-04-01 | 1 | -19/+141 | |
| | | | | | | rdar://8911343 llvm-svn: 128696 | |||||
* | Use the correct LHS type when determining the legalization of a shift's RHS ↵ | Owen Anderson | 2011-03-07 | 1 | -2/+4 | |
| | | | | | | type. llvm-svn: 127163 | |||||
* | Allow targets to specify a the type of the RHS of a shift parameterized on ↵ | Owen Anderson | 2011-02-25 | 1 | -20/+29 | |
| | | | | | | the type of the LHS. llvm-svn: 126518 | |||||
* | Do not lose debug info of an inlined function argument even if the argument ↵ | Devang Patel | 2011-02-18 | 1 | -0/+3 | |
| | | | | | | | | is only used through GEPs. This time with a fix that avoids using invalidated DenseMap iterator. llvm-svn: 125984 | |||||
* | Roll out r125794 to help diagnose the llvm-gcc-i386-linux-selfhost failure. | Cameron Zwarich | 2011-02-18 | 1 | -3/+0 | |
| | | | | llvm-svn: 125830 | |||||
* | Do not lose debug info of an inlined function argument even if the argument ↵ | Devang Patel | 2011-02-17 | 1 | -0/+3 | |
| | | | | | | is only used through GEPs. llvm-svn: 125794 | |||||
* | Swap VT and DebugLoc operands of getExtLoad() for consistency with | Stuart Hastings | 2011-02-16 | 1 | -18/+18 | |
| | | | | | | other getNode() methods. Radar 9002173. llvm-svn: 125665 | |||||
* | Speculatively revert r124380. | Devang Patel | 2011-01-27 | 1 | -3/+0 | |
| | | | | llvm-svn: 124397 | |||||
* | While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal ↵ | Devang Patel | 2011-01-27 | 1 | -0/+3 | |
| | | | | | | | | nodes. Take 2. This includes fix for dragonegg crash. llvm-svn: 124380 | |||||
* | Initialize variable to get rid of clang warning. | Bill Wendling | 2011-01-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 124331 | |||||
* | Revert r124302 | Devang Patel | 2011-01-26 | 1 | -3/+0 | |
| | | | | llvm-svn: 124320 | |||||
* | [AVX] Add INSERT_SUBVECTOR and support it on x86. This provides a | David Greene | 2011-01-26 | 1 | -0/+48 | |
| | | | | | | | | default implementation for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VINSERTF128 if AVX is available. llvm-svn: 124307 | |||||
* | While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal ↵ | Devang Patel | 2011-01-26 | 1 | -0/+3 | |
| | | | | | | nodes. llvm-svn: 124302 | |||||
* | Use only one API at a time. | Eric Christopher | 2011-01-20 | 1 | -2/+1 | |
| | | | | llvm-svn: 123866 | |||||
* | If we can, lower the multiply part of a umulo/smulo call to a libcall | Eric Christopher | 2011-01-20 | 1 | -8/+27 | |
| | | | | | | | | | with an invalid type then split the result and perform the overflow check normally. Fixes the 32-bit parts of rdar://8622122 and rdar://8774702. llvm-svn: 123864 | |||||
* | Remove checking that prevented overlapping CALLSEQ_START/CALLSEQ_END | Stuart Hastings | 2011-01-18 | 1 | -15/+9 | |
| | | | | | | | ranges, add legalizer support for nested calls. Necessary for ARM byval support. Radar 7662569. llvm-svn: 123704 | |||||
* | Add an assert so we don't silently miscompile ctpop for bit widths > 128. | Benjamin Kramer | 2011-01-15 | 1 | -0/+4 | |
| | | | | llvm-svn: 123549 | |||||
* | Reimplement CTPOP legalization with the "best" algorithm from | Benjamin Kramer | 2011-01-15 | 1 | -18/+45 | |
| | | | | | | | | | | | | | http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel In a silly microbenchmark on a 65 nm core2 this is 1.5x faster than the old code in 32 bit mode and about 2x faster in 64 bit mode. It's also a lot shorter, especially when counting 64 bit population on a 32 bit target. I hope this is fast enough to replace Kernighan-style counting loops even when the input is rather sparse. llvm-svn: 123547 | |||||
* | Fix r123346 to handle scalar types too. | Dan Gohman | 2011-01-13 | 1 | -2/+1 | |
| | | | | llvm-svn: 123352 | |||||
* | Apply the patch from PR8958, which allows llc to get slightly | Dan Gohman | 2011-01-12 | 1 | -1/+2 | |
| | | | | | | further on the associated testcase before aborting. llvm-svn: 123346 | |||||
* | Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs ↵ | Anton Korobeynikov | 2011-01-10 | 1 | -2/+2 | |
| | | | | | | and fixes here and there. llvm-svn: 123170 | |||||
* | Remove TODO, these appear to be implemented. | Eric Christopher | 2011-01-04 | 1 | -1/+0 | |
| | | | | llvm-svn: 122849 | |||||
* | Fix indentation, add comment. | Stuart Hastings | 2010-12-21 | 1 | -4/+6 | |
| | | | | llvm-svn: 122345 | |||||
* | Missing logic for nested CALLSEQ_START/END. | Stuart Hastings | 2010-12-21 | 1 | -2/+5 | |
| | | | | llvm-svn: 122342 | |||||
* | rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for | Chris Lattner | 2010-12-21 | 1 | -1/+1 | |
| | | | | | | | something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310 | |||||
* | Initial support for nested CALLSEQ_START/CALLSEQ_END constructs in LegalizeDAG. | Stuart Hastings | 2010-12-09 | 1 | -8/+24 | |
| | | | | | | Necessary for byval support on ARM. Radar 7662569. llvm-svn: 121412 | |||||
* | PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and | Jay Foad | 2010-12-07 | 1 | -1/+1 | |
| | | | | | | | | zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121120 | |||||
* | Remove unneeded zero arrays. | Benjamin Kramer | 2010-12-04 | 1 | -2/+1 | |
| | | | | llvm-svn: 120910 | |||||
* | Enable sibling call optimization of libcalls which are expanded during | Evan Cheng | 2010-11-30 | 1 | -6/+17 | |
| | | | | | | | | | | | legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the return SDNode is target specific, this requires a target hook to check for eligibility. Only x86 and ARM support this form of sibcall optimization right now. rdar://8707777 llvm-svn: 120501 | |||||
* | Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept. | Wesley Peck | 2010-11-23 | 1 | -29/+29 | |
| | | | | llvm-svn: 119990 | |||||
* | Add a pre-dispatch SjLj EH hook on the unwind edge for targets to do any | Jim Grosbach | 2010-10-19 | 1 | -0/+6 | |
| | | | | | | | setup they require. Use this for ARM/Darwin to rematerialize the base pointer from the frame pointer when required. rdar://8564268 llvm-svn: 116879 | |||||
* | fix the default va_arg expansion (in the realignment case) to not implicitly | Chris Lattner | 2010-10-10 | 1 | -1/+1 | |
| | | | | | | truncate the stack pointer to 32-bits on a 64-bit machine. llvm-svn: 116169 | |||||
* | Use a more efficient lowering of uint64_t --> float that can take advantage ↵ | Owen Anderson | 2010-10-05 | 1 | -6/+28 | |
| | | | | | | | | | of hardware signed integer conversion without having to do a double cast (uint64_t --> double --> float). This is based on the algorithm from compiler_rt's __floatundisf for X86-64. llvm-svn: 115634 | |||||
* | update a bunch of code to use the MachinePointerInfo version of getStore. | Chris Lattner | 2010-09-21 | 1 | -9/+10 | |
| | | | | llvm-svn: 114461 | |||||
* | eliminate an old SelectionDAG::getTruncStore method, propagating | Chris Lattner | 2010-09-21 | 1 | -41/+38 | |
| | | | | | | MachinePointerInfo around more. llvm-svn: 114452 |