aboutsummaryrefslogtreecommitdiff
path: root/mlir/lib/Target/LLVMIR/ModuleImport.cpp
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2025-04-14 16:08:49 -0700
committerGitHub <noreply@github.com>2025-04-14 16:08:49 -0700
commit76db259080fa134579f31d76fe9ab462f47eca87 (patch)
tree657e89d9a7cc3c022c59e3d1f89cd9a8e4397273 /mlir/lib/Target/LLVMIR/ModuleImport.cpp
parenta9f73ae4494437c606c2b2e869358b75d8e2d45c (diff)
downloadllvm-76db259080fa134579f31d76fe9ab462f47eca87.zip
llvm-76db259080fa134579f31d76fe9ab462f47eca87.tar.gz
llvm-76db259080fa134579f31d76fe9ab462f47eca87.tar.bz2
Revert "[MLIR][LLVM] Support for indirectbr" (#135695)
Reverts llvm/llvm-project#135092, broke https://lab.llvm.org/buildbot/#/builders/169/builds/10469
Diffstat (limited to 'mlir/lib/Target/LLVMIR/ModuleImport.cpp')
-rw-r--r--mlir/lib/Target/LLVMIR/ModuleImport.cpp33
1 files changed, 2 insertions, 31 deletions
diff --git a/mlir/lib/Target/LLVMIR/ModuleImport.cpp b/mlir/lib/Target/LLVMIR/ModuleImport.cpp
index 346a0ed..8e7a7ab 100644
--- a/mlir/lib/Target/LLVMIR/ModuleImport.cpp
+++ b/mlir/lib/Target/LLVMIR/ModuleImport.cpp
@@ -1988,35 +1988,6 @@ LogicalResult ModuleImport::convertInstruction(llvm::Instruction *inst) {
return success();
}
- if (inst->getOpcode() == llvm::Instruction::IndirectBr) {
- auto *indBrInst = cast<llvm::IndirectBrInst>(inst);
-
- FailureOr<Value> basePtr = convertValue(indBrInst->getAddress());
- if (failed(basePtr))
- return failure();
-
- SmallVector<Block *> succBlocks;
- // `succBlockArgs` is storage for the block arguments ranges used in
- // `succBlockArgsRange`, so the later references live data.
- SmallVector<SmallVector<Value>> succBlockArgs;
- SmallVector<ValueRange> succBlockArgsRange;
- for (auto i : llvm::seq<unsigned>(0, indBrInst->getNumSuccessors())) {
- llvm::BasicBlock *succ = indBrInst->getSuccessor(i);
- SmallVector<Value> blockArgs;
- if (failed(convertBranchArgs(indBrInst, succ, blockArgs)))
- return failure();
- succBlocks.push_back(lookupBlock(succ));
- succBlockArgs.push_back(blockArgs);
- succBlockArgsRange.push_back(succBlockArgs.back());
- }
- Location loc = translateLoc(inst->getDebugLoc());
- auto indBrOp = builder.create<LLVM::IndirectBrOp>(
- loc, *basePtr, succBlockArgsRange, succBlocks);
-
- mapNoResultOp(inst, indBrOp);
- return success();
- }
-
// Convert all instructions that have an mlirBuilder.
if (succeeded(convertInstructionImpl(builder, inst, *this, iface)))
return success();
@@ -2027,8 +1998,8 @@ LogicalResult ModuleImport::convertInstruction(llvm::Instruction *inst) {
LogicalResult ModuleImport::processInstruction(llvm::Instruction *inst) {
// FIXME: Support uses of SubtargetData.
// FIXME: Add support for call / operand attributes.
- // FIXME: Add support for the cleanupret, catchret, catchswitch, callbr,
- // vaarg, catchpad, cleanuppad instructions.
+ // FIXME: Add support for the indirectbr, cleanupret, catchret, catchswitch,
+ // callbr, vaarg, catchpad, cleanuppad instructions.
// Convert LLVM intrinsics calls to MLIR intrinsics.
if (auto *intrinsic = dyn_cast<llvm::IntrinsicInst>(inst))