Displaying 3 results from an estimated 3 matches for "createor".
Did you mean:
createbr
2013 Aug 16
2
[LLVMdev] CreateOr no matching member error
For the following code:
Type * type = IntegerType::getInt32Ty(getGlobalContext());
IRBuilder<> builder(BB);
std::set<Value *> Vset;
Value * Vresult=0;
for(std::set<Value*>::iterator Vit=Vset.begin();Vit!=Vset.end();Vit++)
{
Vresult=builder.CreateOr(Vit, Vresult, "WaitOr");
}
Vset is inserted in previous loop by 0 or 1 The error is
error: no matching member function for call to 'CreateOr'
Vresult=builder.CreateOr(Vit, Vresult, "WaitOr");
Which input is wrong in the CreateOr() ?
--
* R...
2012 Nov 28
0
[LLVMdev] [llvm-commits] [dragonegg] r168787 - in /dragonegg/trunk: src/x86/Target.cpp src/x86/x86_builtins test/validator/c/copysignp.c
...alue *IntLHS = Builder.CreateBitCast(Ops[0], IntVecTy);
> + Value *IntRHS = Builder.CreateBitCast(Ops[1], IntVecTy);
> + Value *Sign = Builder.CreateAnd(IntRHS, SignMask);
> + Value *Abs = Builder.CreateAnd(IntLHS, ConstantExpr::getNot(SignMask));
> + Value *IntRes = Builder.CreateOr(Abs, Sign);
> + Result = Builder.CreateBitCast(IntRes, VecTy);
> + return true;
> + }
> case paddb:
> case paddw:
> case paddd:
>
> Modified: dragonegg/trunk/src/x86/x86_builtins
> URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/x86/x86_bui...
2017 Jul 13
2
failing to optimize boolean ops on cmps
...lds to handle this kind of
pattern be a welcome enhancement? I don't know if it's possible to make the
matchers handle this case without adding a new matcher. Eg:
// ((~A & B) | A) -> (A | B)
if (match(Op0, m_c_And(m_Not(m_Specific(Op1)), m_Value(A))))
return BinaryOperator::CreateOr(A, Op1);
Is there a way to make "m_Not(m_Specific())" match an inverted compare?
This optimization hole can manifest in strange ways:
https://godbolt.org/g/gjpAVo
We got it right for C++, but C managed to fall through the cracks!
-------------- next part --------------
An HTML attachme...