search for: emitbuiltinexpr

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

2012 Jul 10
2
[LLVMdev] question about Type::canLoslesslyBitCastTo
...2 to <2 x i16> is probably just an oversight. Please feel free to send in a patch fixing it. Ciao, Duncan. > > > I am trying to change all vector types (v2i16 and v4i8) in > include/llvm/IntrinsicsMips.td to i32, but I can't do that because the code in > CodeGenFunction::EmitBuiltinExpr (in clang/CGBuiltin.cpp) raises an assertion > when it calls Type::canLoslesslyBitCastTo to check whether conversion between > v2i16 (or v4i8) and i32 is legal. > > To work around this problem, I can put back CodeGenFunction::EmitMipsBuiltinExpr > which was removed in r159368 and add...
2012 Jul 10
0
[LLVMdev] question about Type::canLoslesslyBitCastTo
...uence of instructions (which I think is lossless)? store i32 %src, i32* %ptr %ptr2 = bitcast i32* %ptr to v2i16* %dst = load v2i16* %ptr2 I am trying to change all vector types (v2i16 and v4i8) in include/llvm/IntrinsicsMips.td to i32, but I can't do that because the code in CodeGenFunction::EmitBuiltinExpr (in clang/CGBuiltin.cpp) raises an assertion when it calls Type::canLoslesslyBitCastTo to check whether conversion between v2i16 (or v4i8) and i32 is legal. To work around this problem, I can put back CodeGenFunction::EmitMipsBuiltinExpr which was removed in r159368 and add code to do type convers...
2012 Jul 03
2
[LLVMdev] question about Type::canLoslesslyBitCastTo
Type::canLoslesslyBitCastTo(Type *Ty) in lib/VMCore/Type.cpp always returns false when it checks whether an integer can be bitcast to a vector or vice versa. For example, (i32 => v2i16) or (v2i16 => i32) is false. But it seems that it returns true if it is checking conversion between two vector types which have the same size. For example, (v4i8 => v2i16) would return true. What is the
2012 Jul 16
0
[LLVMdev] question about Type::canLoslesslyBitCastTo
...gt; Please > feel free to send in a patch fixing it. > > Ciao, Duncan. > > > > > > > I am trying to change all vector types (v2i16 and v4i8) in > > include/llvm/IntrinsicsMips.td to i32, but I can't do that because the > code in > > CodeGenFunction::EmitBuiltinExpr (in clang/CGBuiltin.cpp) raises an > assertion > > when it calls Type::canLoslesslyBitCastTo to check whether conversion > between > > v2i16 (or v4i8) and i32 is legal. > > > > To work around this problem, I can put back > CodeGenFunction::EmitMipsBuiltinExpr > &...
2013 Oct 10
3
[LLVMdev] A new builtin: __builtin_stack_pointer()
...quot;iv**", "j") BUILTIN(__builtin_longjmp, "vv**i", "r") diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index d187678..f66f506 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -736,6 +736,11 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD, Value *F = CGM.getIntrinsic(Intrinsic::frameaddress); return RValue::get(Builder.CreateCall(F, Depth)); } + case Builtin::BI__builtin_stack_pointer: { + Value *StackAddr = + Builder.CreateCall(CGM.getIntrinsic(Intrinsic::stacksave)); + return RValue:...
2012 Feb 21
5
[LLVMdev] buildbot failure in LLVM on clang-x86_64-debian-fnt
...m::Module*, llvm::Intrinsic::ID, llvm::ArrayRef<llvm::Type*>) + 172 7 clang 0x0000000001da8476 llvm::IRBuilderBase::CreateMemCpy(llvm::Value*, llvm::Value*, llvm::Value*, unsigned int, bool, llvm::MDNode*) + 278 8 clang 0x0000000000917059 clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(clang::FunctionDecl const*, unsigned int, clang::CallExpr const*) + 13001 9 clang 0x000000000085491c clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) + 236 10 clang 0x0000000000879146 11 clang 0x00000000008807ae 12...
2012 Feb 21
0
[LLVMdev] buildbot failure in LLVM on clang-x86_64-debian-fnt
...D, > llvm::ArrayRef<llvm::Type*>) + 172 > 7 clang 0x0000000001da8476 > llvm::IRBuilderBase::CreateMemCpy(llvm::Value*, llvm::Value*, > llvm::Value*, unsigned int, bool, llvm::MDNode*) + 278 > 8 clang 0x0000000000917059 > clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(clang::FunctionDecl > const*, unsigned int, clang::CallExpr const*) + 13001 > 9 clang 0x000000000085491c > clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, > clang::CodeGen::ReturnValueSlot) + 236 > 10 clang 0x0000000000879146 > 11 clang...
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...eInst *StoreVal1 = CGF.Builder.CreateStore(CXI, Val1); StoreVal1->setAlignment(Align); diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 3966419..7649325 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -964,6 +964,7 @@ RValue CodeGenFunction::EmitBuiltinExpr(const FunctionDecl *FD, Args[2] = EmitToInt(*this, EmitScalarExpr(E->getArg(2)), T, IntType); Value *Result = Builder.CreateAtomicCmpXchg(Args[0], Args[1], Args[2], + llvm::SequentiallyConsistent,...