Skip to content

Commit c6ab1f8

Browse files
committed
Simplify code by using CreateMemTemp. No functional change intended.
Reviewer: Eli llvm-svn: 188722
1 parent d79f7d9 commit c6ab1f8

File tree

1 file changed

+9
-18
lines changed

1 file changed

+9
-18
lines changed

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2019,9 +2019,7 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID,
20192019
Function *F = CGM.getIntrinsic(Intrinsic::arm_strexd);
20202020
llvm::Type *STy = llvm::StructType::get(Int32Ty, Int32Ty, NULL);
20212021

2022-
Value *One = llvm::ConstantInt::get(Int32Ty, 1);
2023-
Value *Tmp = Builder.CreateAlloca(ConvertType(E->getArg(0)->getType()),
2024-
One);
2022+
Value *Tmp = CreateMemTemp(E->getArg(0)->getType());
20252023
Value *Val = EmitScalarExpr(E->getArg(0));
20262024
Builder.CreateStore(Val, Tmp);
20272025

@@ -2928,19 +2926,15 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
29282926
return Builder.CreateExtractElement(Ops[0],
29292927
llvm::ConstantInt::get(Ops[1]->getType(), 0));
29302928
case X86::BI__builtin_ia32_ldmxcsr: {
2931-
llvm::Type *PtrTy = Int8PtrTy;
2932-
Value *One = llvm::ConstantInt::get(Int32Ty, 1);
2933-
Value *Tmp = Builder.CreateAlloca(Int32Ty, One);
2929+
Value *Tmp = CreateMemTemp(E->getArg(0)->getType());
29342930
Builder.CreateStore(Ops[0], Tmp);
29352931
return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_ldmxcsr),
2936-
Builder.CreateBitCast(Tmp, PtrTy));
2932+
Builder.CreateBitCast(Tmp, Int8PtrTy));
29372933
}
29382934
case X86::BI__builtin_ia32_stmxcsr: {
2939-
llvm::Type *PtrTy = Int8PtrTy;
2940-
Value *One = llvm::ConstantInt::get(Int32Ty, 1);
2941-
Value *Tmp = Builder.CreateAlloca(Int32Ty, One);
2935+
Value *Tmp = CreateMemTemp(E->getArg(0)->getType());
29422936
Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_stmxcsr),
2943-
Builder.CreateBitCast(Tmp, PtrTy));
2937+
Builder.CreateBitCast(Tmp, Int8PtrTy));
29442938
return Builder.CreateLoad(Tmp, "stmxcsr");
29452939
}
29462940
case X86::BI__builtin_ia32_storehps:
@@ -3131,13 +3125,10 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
31313125
}
31323126
// AVX2 broadcast
31333127
case X86::BI__builtin_ia32_vbroadcastsi256: {
3134-
llvm::Type *VecTy = llvm::VectorType::get(Int64Ty, 2);
3135-
llvm::Type *PtrTy = Int8PtrTy;
3136-
Value *One = llvm::ConstantInt::get(Int32Ty, 1);
3137-
Value *Tmp = Builder.CreateAlloca(VecTy, One);
3138-
Builder.CreateStore(Ops[0], Tmp);
3139-
return Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_avx2_vbroadcasti128),
3140-
Builder.CreateBitCast(Tmp, PtrTy));
3128+
Value *VecTmp = CreateMemTemp(E->getArg(0)->getType());
3129+
Builder.CreateStore(Ops[0], VecTmp);
3130+
Value *F = CGM.getIntrinsic(Intrinsic::x86_avx2_vbroadcasti128);
3131+
return Builder.CreateCall(F, Builder.CreateBitCast(VecTmp, Int8PtrTy));
31413132
}
31423133
}
31433134
}

0 commit comments

Comments
 (0)