search for: createfsub

Displaying 6 results from an estimated 6 matches for "createfsub".

Did you mean: createfmul
2010 Mar 23
3
[LLVMdev] How to avoid memory leaks
...uction(unsigned int, llvm::Constant*, llvm::Constant*) (in /home/gabi/vgen/Debug/vgen) ==17474== by 0x889587: llvm::ConstantExpr::getTy(llvm::Type const*, unsigned int, llvm::Constant*, llvm::Constant*, unsigned int) (in /home/gabi/vgen/Debug/vgen) ==17474== by 0x423030: llvm::ConstantFolder::CreateFSub(llvm::Constant*, llvm::Constant*) const (ConstantFolder.h:58) ==17474== by 0x423F7E: llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateFSub(llvm::Value*, llvm::Value*, llvm::Twine const&) and also... ==17474== 2,880 bytes in 40 blocks are...
2018 Sep 25
2
[FPEnv] FNEG instruction
...I'm not sure how to detect regressions > without doing an audit of FP transforms in instcombine and other passes. > Implementation details. ¯\_(ツ)_/¯ Seriously though, this is interesting and something that I had not considered. Thinking aloud, what if we caught the FNEG pattern in the CreateFSub*(...) IRBuilder functions and generated an FNeg instruction instead? That way we could get rid of the m_FNeg(...) calls altogether. They would just be replaced with something like: (I.getOpcode() == Instruction::FNeg). Any transform that currently uses m_FNeg(...) would fail to build without an upd...
2010 Mar 18
0
[LLVMdev] Does it cache the compiled code of executed functions upon runFunction(..)?
I think I found the cause. It appears that FP operations and functions (I used combinations of CreateFMulL CreateFAdd and CreateFSub ) is MUCH slower than their integer equivalents. I mean really slower (20x slower or even more) Can It be the cause ? Does the FP binary ops are so slow ? -- Regards, Gabi http://bugspy.net
2018 Sep 26
2
[FPEnv] FNEG instruction
...ng an audit of FP transforms in instcombine and other passes. >>> >> >> Implementation details. ¯\_(ツ)_/¯ >> >> Seriously though, this is interesting and something that I had not >> considered. Thinking aloud, what if we caught the FNEG pattern in >> the CreateFSub*(...) IRBuilder functions and generated an FNeg instruction >> instead? That way we could get rid of the m_FNeg(...) calls altogether. >> They would just be replaced with something like: (I.getOpcode() == >> Instruction::FNeg). Any transform that currently uses m_FNeg(...) would &...
2018 Sep 11
2
[FPEnv] FNEG instruction
+1 for an explicit FNEG instruction, since as previously discussed, it has stricter requirements for what value may be returned by the operation. And strengthening the requirement on FSUB is not feasible when the values are variables rather than literals. That is: FSUB(-0.0, NaN) = either NaN *or* -NaN FSUB(-0.0, -NaN) = either NaN *or* -NaN FNEG(NaN) = -NaN FNEG(-NaN) = NaN On Tue, Sep 11,
2010 Mar 23
2
[LLVMdev] How to avoid memory leaks
...uction(unsigned int, llvm::Constant*, llvm::Constant*) (in /home/gabi/vgen/Debug/vgen) ==20504==    by 0x88BD87: llvm::ConstantExpr::getTy(llvm::Type const*, unsigned int, llvm::Constant*, llvm::Constant*, unsigned int) (in /home/gabi/vgen/Debug/vgen) ==20504==    by 0x423AB0: llvm::ConstantFolder::CreateFSub(llvm::Constant*, llvm::Constant*) const (ConstantFolder.h:58) ==20504==    by 0x424EC4: llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >::CreateFSub(llvm::Value*, llvm::Value*, llvm::Twine const&) (IRBuilder.h:358) ==20504==    by 0x42270F: vgen::Co...