search for: createor

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...