Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Revert "Temporarily Revert "Add basic loop fusion pass."" | Eric Christopher | 2019-04-17 | 1 | -0/+31 |
| | | | | | | | | The reversion apparently deleted the test/Transforms directory. Will be re-reverting again. llvm-svn: 358552 | ||||
* | Temporarily Revert "Add basic loop fusion pass." | Eric Christopher | 2019-04-17 | 1 | -31/+0 |
| | | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546 | ||||
* | Fix all the remaining lost-fast-math-flags bugs I've been able to find. The ↵ | Owen Anderson | 2014-01-20 | 1 | -0/+10 |
| | | | | | | | | most important of these are cases in the generic logic for combining BinaryOperators. This logic hadn't been updated to handle FastMathFlags, and it took me a while to detect it because it doesn't show up in a simple search for CreateFAdd. llvm-svn: 199629 | ||||
* | Convert tests to FileCheck | Matt Arsenault | 2013-08-28 | 1 | -1/+4 |
| | | | | llvm-svn: 189529 | ||||
* | Use opt -S instead of piping bitcode output through llvm-dis. | Dan Gohman | 2009-09-08 | 1 | -1/+1 |
| | | | | llvm-svn: 81257 | ||||
* | Change these tests to feed the assembly files to opt directly, instead | Dan Gohman | 2009-09-08 | 1 | -1/+1 |
| | | | | | | of using llvm-as, now that opt supports this. llvm-svn: 81226 | ||||
* | Throttle back "fold select into operand" transformation. InstCombine should ↵ | Evan Cheng | 2009-03-31 | 1 | -0/+18 |
not generate selects of two constants unless they are selects of 0 and 1. e.g. define i32 @t1(i32 %c, i32 %x) nounwind { %t1 = icmp eq i32 %c, 0 %t2 = lshr i32 %x, 18 %t3 = select i1 %t1, i32 %t2, i32 %x ret i32 %t3 } was turned into define i32 @t2(i32 %c, i32 %x) nounwind { %t1 = icmp eq i32 %c, 0 %t2 = select i1 %t1, i32 18, i32 0 %t3 = lshr i32 %x, %t2 ret i32 %t3 } For most targets, that means materializing two constants and then a select. e.g. On x86-64 movl %esi, %eax shrl $18, %eax testl %edi, %edi cmovne %esi, %eax ret => xorl %eax, %eax testl %edi, %edi movl $18, %ecx cmovne %eax, %ecx movl %esi, %eax shrl %cl, %eax ret Also, the optimizer and codegen can reason about shl / and / add, etc. by a constant. This optimization will hinder optimizations using ComputeMaskedBits. llvm-svn: 68142 |