Skip to content

Commit a39bb96

Browse files
committed
[X86] Refine code of generating BB labels in Keylocker
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D105336
1 parent 2c115ec commit a39bb96

File tree

1 file changed

+20
-33
lines changed

1 file changed

+20
-33
lines changed

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 20 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -14758,40 +14758,34 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1475814758
case X86::BI__builtin_ia32_aesenc256kl_u8:
1475914759
case X86::BI__builtin_ia32_aesdec256kl_u8: {
1476014760
Intrinsic::ID IID;
14761-
StringRef StrNoErr, StrErr, StrEnd;
14761+
StringRef BlockName;
1476214762
switch (BuiltinID) {
14763-
default: llvm_unreachable("Unexpected builtin");
14763+
default:
14764+
llvm_unreachable("Unexpected builtin");
1476414765
case X86::BI__builtin_ia32_aesenc128kl_u8:
1476514766
IID = Intrinsic::x86_aesenc128kl;
14766-
StrNoErr = "aesenc128kl_no_error";
14767-
StrErr = "aesenc128kl_error";
14768-
StrEnd = "aesenc128kl_end";
14767+
BlockName = "aesenc128kl";
1476914768
break;
1477014769
case X86::BI__builtin_ia32_aesdec128kl_u8:
1477114770
IID = Intrinsic::x86_aesdec128kl;
14772-
StrNoErr = "aesdec128kl_no_error";
14773-
StrErr = "aesdec128kl_error";
14774-
StrEnd = "aesdec128kl_end";
14771+
BlockName = "aesdec128kl";
1477514772
break;
1477614773
case X86::BI__builtin_ia32_aesenc256kl_u8:
1477714774
IID = Intrinsic::x86_aesenc256kl;
14778-
StrNoErr = "aesenc256kl_no_error";
14779-
StrErr = "aesenc256kl_error";
14780-
StrEnd = "aesenc256kl_end";
14775+
BlockName = "aesenc256kl";
1478114776
break;
1478214777
case X86::BI__builtin_ia32_aesdec256kl_u8:
1478314778
IID = Intrinsic::x86_aesdec256kl;
14784-
StrNoErr = "aesdec256kl_no_error";
14785-
StrErr = "aesdec256kl_error";
14786-
StrEnd = "aesdec256kl_end";
14779+
BlockName = "aesdec256kl";
1478714780
break;
1478814781
}
1478914782

1479014783
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), {Ops[1], Ops[2]});
1479114784

14792-
BasicBlock *NoError = createBasicBlock(StrNoErr, this->CurFn);
14793-
BasicBlock *Error = createBasicBlock(StrErr, this->CurFn);
14794-
BasicBlock *End = createBasicBlock(StrEnd, this->CurFn);
14785+
BasicBlock *NoError =
14786+
createBasicBlock(BlockName + "_no_error", this->CurFn);
14787+
BasicBlock *Error = createBasicBlock(BlockName + "_error", this->CurFn);
14788+
BasicBlock *End = createBasicBlock(BlockName + "_end", this->CurFn);
1479514789

1479614790
Value *Ret = Builder.CreateExtractValue(Call, 0);
1479714791
Value *Succ = Builder.CreateTrunc(Ret, Builder.getInt1Ty());
@@ -14815,31 +14809,23 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1481514809
case X86::BI__builtin_ia32_aesencwide256kl_u8:
1481614810
case X86::BI__builtin_ia32_aesdecwide256kl_u8: {
1481714811
Intrinsic::ID IID;
14818-
StringRef StrNoErr, StrErr, StrEnd;
14812+
StringRef BlockName;
1481914813
switch (BuiltinID) {
1482014814
case X86::BI__builtin_ia32_aesencwide128kl_u8:
1482114815
IID = Intrinsic::x86_aesencwide128kl;
14822-
StrNoErr = "aesencwide128kl_no_error";
14823-
StrErr = "aesencwide128kl_error";
14824-
StrEnd = "aesencwide128kl_end";
14816+
BlockName = "aesencwide128kl";
1482514817
break;
1482614818
case X86::BI__builtin_ia32_aesdecwide128kl_u8:
1482714819
IID = Intrinsic::x86_aesdecwide128kl;
14828-
StrNoErr = "aesdecwide128kl_no_error";
14829-
StrErr = "aesdecwide128kl_error";
14830-
StrEnd = "aesdecwide128kl_end";
14820+
BlockName = "aesdecwide128kl";
1483114821
break;
1483214822
case X86::BI__builtin_ia32_aesencwide256kl_u8:
1483314823
IID = Intrinsic::x86_aesencwide256kl;
14834-
StrNoErr = "aesencwide256kl_no_error";
14835-
StrErr = "aesencwide256kl_error";
14836-
StrEnd = "aesencwide256kl_end";
14824+
BlockName = "aesencwide256kl";
1483714825
break;
1483814826
case X86::BI__builtin_ia32_aesdecwide256kl_u8:
1483914827
IID = Intrinsic::x86_aesdecwide256kl;
14840-
StrNoErr = "aesdecwide256kl_no_error";
14841-
StrErr = "aesdecwide256kl_error";
14842-
StrEnd = "aesdecwide256kl_end";
14828+
BlockName = "aesdecwide256kl";
1484314829
break;
1484414830
}
1484514831

@@ -14853,9 +14839,10 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1485314839

1485414840
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), InOps);
1485514841

14856-
BasicBlock *NoError = createBasicBlock(StrNoErr, this->CurFn);
14857-
BasicBlock *Error = createBasicBlock(StrErr, this->CurFn);
14858-
BasicBlock *End = createBasicBlock(StrEnd, this->CurFn);
14842+
BasicBlock *NoError =
14843+
createBasicBlock(BlockName + "_no_error", this->CurFn);
14844+
BasicBlock *Error = createBasicBlock(BlockName + "_error", this->CurFn);
14845+
BasicBlock *End = createBasicBlock(BlockName + "_end", this->CurFn);
1485914846

1486014847
Value *Ret = Builder.CreateExtractValue(Call, 0);
1486114848
Value *Succ = Builder.CreateTrunc(Ret, Builder.getInt1Ty());

0 commit comments

Comments
 (0)