[llvm] [llvm-exegesis] [AArch64] Resolving "not all operands are initialized by snippet generator" (PR #142529)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 2 22:49:50 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp -- llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp b/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
index 0a99bb961..b6c405806 100644
--- a/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
+++ b/llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
@@ -115,9 +115,9 @@ public:
ExegesisAArch64Target()
: ExegesisTarget(AArch64CpuPfmCounters, AArch64_MC::isOpcodeAvailable) {}
- Error randomizeTargetMCOperand(
- const Instruction &Instr, const Variable &Var, MCOperand &AssignedValue,
- const BitVector &ForbiddenRegs) const override;
+ Error randomizeTargetMCOperand(const Instruction &Instr, const Variable &Var,
+ MCOperand &AssignedValue,
+ const BitVector &ForbiddenRegs) const override;
private:
std::vector<MCInst> setRegTo(const MCSubtargetInfo &STI, MCRegister Reg,
@@ -165,25 +165,25 @@ Error ExegesisAArch64Target::randomizeTargetMCOperand(
// Introducing some illegal instructions for (15) a few opcodes
// TODO: Look into immediate values to be opcode specific
switch (OperandType) {
- case MCOI::OperandType::OPERAND_UNKNOWN: {
- unsigned Opcode = Instr.getOpcode();
- switch (Opcode) {
- case AArch64::MOVIv2s_msl:
- case AArch64::MOVIv4s_msl:
- case AArch64::MVNIv2s_msl:
- case AArch64::MVNIv4s_msl:
- AssignedValue = MCOperand::createImm(8); // or 16, as needed
- return Error::success();
- default:
- AssignedValue = MCOperand::createImm(0);
- return Error::success();
- }
- }
- case MCOI::OperandType::OPERAND_PCREL:
- AssignedValue = MCOperand::createImm(0);
+ case MCOI::OperandType::OPERAND_UNKNOWN: {
+ unsigned Opcode = Instr.getOpcode();
+ switch (Opcode) {
+ case AArch64::MOVIv2s_msl:
+ case AArch64::MOVIv4s_msl:
+ case AArch64::MVNIv2s_msl:
+ case AArch64::MVNIv4s_msl:
+ AssignedValue = MCOperand::createImm(8); // or 16, as needed
return Error::success();
default:
- break;
+ AssignedValue = MCOperand::createImm(0);
+ return Error::success();
+ }
+ }
+ case MCOI::OperandType::OPERAND_PCREL:
+ AssignedValue = MCOperand::createImm(0);
+ return Error::success();
+ default:
+ break;
}
return make_error<Failure>(
diff --git a/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp b/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
index d4381c3b1..6859a9d49 100644
--- a/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
+++ b/llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
@@ -276,7 +276,8 @@ static Error randomizeMCOperand(const LLVMState &State,
AssignedValue = MCOperand::createReg(randomBit(AllowedRegs));
break;
}
- /// Omit unknown and pc-relative operands to imm value based on the instruction
+ /// Omit unknown and pc-relative operands to imm value based on the
+ /// instruction
// TODO: Neccesity of AArch64 guard ?
#ifdef __aarch64__
case MCOI::OperandType::OPERAND_UNKNOWN:
``````````
</details>
https://github.com/llvm/llvm-project/pull/142529
More information about the llvm-commits
mailing list