search for: visitfmul

Displaying 8 results from an estimated 8 matches for "visitfmul".

2010 Mar 03
3
[LLVMdev] folding x * 0 = 0
...f thing for real in the mid-level optimizer, some thoughts are here: > http://nondot.org/sabre/LLVMNotes/FloatingPointChanges.txt > Thanks, now it works. I inserted if (Op1F->isNullValue()) return ReplaceInstUsesWith(I, Op1C); // X * 0 == 0 into llvm::InstCombiner::visitFMul Why not at first create a compile time option for this so that the code is already available for special purposes? -Jochen
2020 Nov 16
1
Complex proposal v3 + roundtable agenda
...But I think part of the vector-predication proposal includes some generic matchers for the different intrinsic, which should be relatively straight-forward to update as well. > > > Yes, the IR passes are where I see complex types win. For example, > pretty much all of InstCombine's visitFMul(...) transformations should > not depend on type.*** So there's no need to duplicate all that code > for @llvm.complex.multiply. > > It's true that teaching the pattern matcher to recognize intrinsics > gets us a long way. But we'd also need to update IR passes in places...
2020 Nov 12
2
Complex proposal v3 + roundtable agenda
...asier to deal with. But I think part of the vector-predication proposal includes some generic matchers for the different intrinsic, which should be relatively straight-forward to update as well. Yes, the IR passes are where I see complex types win. For example, pretty much all of InstCombine's visitFMul(...) transformations should not depend on type.*** So there's no need to duplicate all that code for @llvm.complex.multiply. It's true that teaching the pattern matcher to recognize intrinsics gets us a long way. But we'd also need to update IR passes in places where the Opcode is expl...
2010 Mar 03
2
[LLVMdev] folding x * 0 = 0
> You should check out the -enable-finite-only-fp-math and -enable-unsafe-fp-math options. Good hint, but llvm::UnsafeFPMath = true; llvm::FiniteOnlyFPMathOption = true; at the beginning of my code does not help. I found llvm::Reassociate::OptimizeExpression in llvm\lib\Transforms\Scalar\Reassociate.cpp which looks like it does X * 0 = 0 for int, but it does not get called for
2010 Mar 03
0
[LLVMdev] folding x * 0 = 0
On Mar 3, 2010, at 10:23 AM, Jochen Wilhelmy wrote: > >> You should check out the -enable-finite-only-fp-math and -enable-unsafe-fp-math options. > > Good hint, but > > llvm::UnsafeFPMath = true; > llvm::FiniteOnlyFPMathOption = true; > > at the beginning of my code does not help. > I found llvm::Reassociate::OptimizeExpression in >
2010 Mar 03
0
[LLVMdev] folding x * 0 = 0
...mizer, some thoughts are here: >> http://nondot.org/sabre/LLVMNotes/FloatingPointChanges.txt >> > > Thanks, now it works. I inserted > > if (Op1F->isNullValue()) > return ReplaceInstUsesWith(I, Op1C); // X * 0 == 0 > > into llvm::InstCombiner::visitFMul > > Why not at first create a compile time option for this so that the > code is already available for special purposes? I'm not sure how that would work, but it most likely wouldn't fit with the design of llvm. If this is important, I'd rather fix the representational issue...
2020 Nov 13
0
Complex proposal v3 + roundtable agenda
...ith. But I think part of the vector-predication proposal includes some generic matchers for the different intrinsic, which should be relatively straight-forward to update as well. > > Yes, the IR passes are where I see complex types win. For example, > pretty much all of InstCombine's visitFMul(...) transformations should > not depend on type.*** So there's no need to duplicate all that code > for @llvm.complex.multiply. > > It's true that teaching the pattern matcher to recognize intrinsics > gets us a long way. But we'd also need to update IR passes in places...
2020 Nov 12
5
Complex proposal v3 + roundtable agenda
On Thu, Nov 12, 2020 at 12:03 PM Florian Hahn via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hi, > > There’s growing interest among our users to make better use of dedicated hardware instructions for complex math and I would like to re-start the discussion on the topic. Given that this original thread was started a while ago apologies if I missed anything already discussed