Skip to content

Commit 19462f0

Browse files
committed
Revert "[CIR] Add additional frontend actions (llvm#127249)"
This reverts commit 75ea7ae.
1 parent 83b04f2 commit 19462f0

File tree

8 files changed

+4
-111
lines changed

8 files changed

+4
-111
lines changed

clang/include/clang/CIR/Dialect/IR/CIRDialect.td

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ def CIR_Dialect : Dialect {
2828
let useDefaultTypePrinterParser = 0;
2929

3030
let extraClassDeclaration = [{
31-
static llvm::StringRef getTripleAttrName() { return "cir.triple"; }
32-
3331
void registerAttributes();
3432
void registerTypes();
3533

clang/include/clang/CIR/FrontendAction/CIRGenAction.h

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ class CIRGenConsumer;
2525
class CIRGenAction : public clang::ASTFrontendAction {
2626
public:
2727
enum class OutputType {
28-
EmitAssembly,
2928
EmitCIR,
3029
EmitLLVM,
31-
EmitBC,
32-
EmitObj,
3330
};
3431

3532
private:
@@ -66,27 +63,6 @@ class EmitLLVMAction : public CIRGenAction {
6663
EmitLLVMAction(mlir::MLIRContext *MLIRCtx = nullptr);
6764
};
6865

69-
class EmitBCAction : public CIRGenAction {
70-
virtual void anchor();
71-
72-
public:
73-
EmitBCAction(mlir::MLIRContext *MLIRCtx = nullptr);
74-
};
75-
76-
class EmitAssemblyAction : public CIRGenAction {
77-
virtual void anchor();
78-
79-
public:
80-
EmitAssemblyAction(mlir::MLIRContext *MLIRCtx = nullptr);
81-
};
82-
83-
class EmitObjAction : public CIRGenAction {
84-
virtual void anchor();
85-
86-
public:
87-
EmitObjAction(mlir::MLIRContext *MLIRCtx = nullptr);
88-
};
89-
9066
} // namespace cir
9167

9268
#endif

clang/lib/CIR/CodeGen/CIRGenModule.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ CIRGenModule::CIRGenModule(mlir::MLIRContext &mlirContext,
5252
DoubleTy = cir::DoubleType::get(&getMLIRContext());
5353
FP80Ty = cir::FP80Type::get(&getMLIRContext());
5454
FP128Ty = cir::FP128Type::get(&getMLIRContext());
55-
56-
theModule->setAttr(cir::CIRDialect::getTripleAttrName(),
57-
builder.getStringAttr(getTriple().str()));
5855
}
5956

6057
mlir::Location CIRGenModule::getLoc(SourceLocation cLoc) {

clang/lib/CIR/CodeGen/CIRGenModule.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@
2121
#include "mlir/IR/BuiltinOps.h"
2222
#include "mlir/IR/MLIRContext.h"
2323
#include "clang/Basic/SourceManager.h"
24-
#include "clang/Basic/TargetInfo.h"
2524
#include "llvm/ADT/StringRef.h"
26-
#include "llvm/TargetParser/Triple.h"
2725

2826
namespace clang {
2927
class ASTContext;
@@ -90,8 +88,6 @@ class CIRGenModule : public CIRGenTypeCache {
9088
void emitGlobalVarDefinition(const clang::VarDecl *vd,
9189
bool isTentative = false);
9290

93-
const llvm::Triple &getTriple() const { return target.getTriple(); }
94-
9591
/// Helpers to emit "not yet implemented" error diagnostics
9692
DiagnosticBuilder errorNYI(SourceLocation, llvm::StringRef);
9793

clang/lib/CIR/FrontendAction/CIRGenAction.cpp

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,8 @@ getBackendActionFromOutputType(CIRGenAction::OutputType Action) {
2727
assert(false &&
2828
"Unsupported output type for getBackendActionFromOutputType!");
2929
break; // Unreachable, but fall through to report that
30-
case CIRGenAction::OutputType::EmitAssembly:
31-
return BackendAction::Backend_EmitAssembly;
32-
case CIRGenAction::OutputType::EmitBC:
33-
return BackendAction::Backend_EmitBC;
3430
case CIRGenAction::OutputType::EmitLLVM:
3531
return BackendAction::Backend_EmitLL;
36-
case CIRGenAction::OutputType::EmitObj:
37-
return BackendAction::Backend_EmitObj;
3832
}
3933
// We should only get here if a non-enum value is passed in or we went through
4034
// the assert(false) case above
@@ -90,10 +84,7 @@ class CIRGenConsumer : public clang::ASTConsumer {
9084
MlirModule->print(*OutputStream, Flags);
9185
}
9286
break;
93-
case CIRGenAction::OutputType::EmitLLVM:
94-
case CIRGenAction::OutputType::EmitBC:
95-
case CIRGenAction::OutputType::EmitObj:
96-
case CIRGenAction::OutputType::EmitAssembly: {
87+
case CIRGenAction::OutputType::EmitLLVM: {
9788
llvm::LLVMContext LLVMCtx;
9889
std::unique_ptr<llvm::Module> LLVMModule =
9990
lowerFromCIRToLLVMIR(MlirModule, LLVMCtx);
@@ -120,16 +111,10 @@ static std::unique_ptr<raw_pwrite_stream>
120111
getOutputStream(CompilerInstance &CI, StringRef InFile,
121112
CIRGenAction::OutputType Action) {
122113
switch (Action) {
123-
case CIRGenAction::OutputType::EmitAssembly:
124-
return CI.createDefaultOutputFile(false, InFile, "s");
125114
case CIRGenAction::OutputType::EmitCIR:
126115
return CI.createDefaultOutputFile(false, InFile, "cir");
127116
case CIRGenAction::OutputType::EmitLLVM:
128117
return CI.createDefaultOutputFile(false, InFile, "ll");
129-
case CIRGenAction::OutputType::EmitBC:
130-
return CI.createDefaultOutputFile(true, InFile, "bc");
131-
case CIRGenAction::OutputType::EmitObj:
132-
return CI.createDefaultOutputFile(true, InFile, "o");
133118
}
134119
llvm_unreachable("Invalid CIRGenAction::OutputType");
135120
}
@@ -147,22 +132,10 @@ CIRGenAction::CreateASTConsumer(CompilerInstance &CI, StringRef InFile) {
147132
return Result;
148133
}
149134

150-
void EmitAssemblyAction::anchor() {}
151-
EmitAssemblyAction::EmitAssemblyAction(mlir::MLIRContext *MLIRCtx)
152-
: CIRGenAction(OutputType::EmitAssembly, MLIRCtx) {}
153-
154135
void EmitCIRAction::anchor() {}
155136
EmitCIRAction::EmitCIRAction(mlir::MLIRContext *MLIRCtx)
156137
: CIRGenAction(OutputType::EmitCIR, MLIRCtx) {}
157138

158139
void EmitLLVMAction::anchor() {}
159140
EmitLLVMAction::EmitLLVMAction(mlir::MLIRContext *MLIRCtx)
160141
: CIRGenAction(OutputType::EmitLLVM, MLIRCtx) {}
161-
162-
void EmitBCAction::anchor() {}
163-
EmitBCAction::EmitBCAction(mlir::MLIRContext *MLIRCtx)
164-
: CIRGenAction(OutputType::EmitBC, MLIRCtx) {}
165-
166-
void EmitObjAction::anchor() {}
167-
EmitObjAction::EmitObjAction(mlir::MLIRContext *MLIRCtx)
168-
: CIRGenAction(OutputType::EmitObj, MLIRCtx) {}

clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ struct ConvertCIRToLLVMPass
114114
}
115115
void runOnOperation() final;
116116

117-
void processCIRAttrs(mlir::ModuleOp module);
118-
119117
StringRef getDescription() const override {
120118
return "Convert the prepared CIR dialect module to LLVM dialect";
121119
}
@@ -273,13 +271,6 @@ static void prepareTypeConverter(mlir::LLVMTypeConverter &converter,
273271
});
274272
}
275273

276-
void ConvertCIRToLLVMPass::processCIRAttrs(mlir::ModuleOp module) {
277-
// Lower the module attributes to LLVM equivalents.
278-
if (auto tripleAttr = module->getAttr(cir::CIRDialect::getTripleAttrName()))
279-
module->setAttr(mlir::LLVM::LLVMDialect::getTargetTripleAttrName(),
280-
tripleAttr);
281-
}
282-
283274
void ConvertCIRToLLVMPass::runOnOperation() {
284275
llvm::TimeTraceScope scope("Convert CIR to LLVM Pass");
285276

@@ -292,8 +283,6 @@ void ConvertCIRToLLVMPass::runOnOperation() {
292283

293284
patterns.add<CIRToLLVMGlobalOpLowering>(converter, patterns.getContext(), dl);
294285

295-
processCIRAttrs(module);
296-
297286
mlir::ConversionTarget target(getContext());
298287
target.addLegalOp<mlir::ModuleOp>();
299288
target.addLegalDialect<mlir::LLVM::LLVMDialect>();

clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,8 @@ CreateFrontendBaseAction(CompilerInstance &CI) {
6262
return std::make_unique<DumpCompilerOptionsAction>();
6363
case DumpRawTokens: return std::make_unique<DumpRawTokensAction>();
6464
case DumpTokens: return std::make_unique<DumpTokensAction>();
65-
case EmitAssembly:
66-
#if CLANG_ENABLE_CIR
67-
if (UseCIR)
68-
return std::make_unique<cir::EmitAssemblyAction>();
69-
#endif
70-
return std::make_unique<EmitAssemblyAction>();
71-
case EmitBC:
72-
#if CLANG_ENABLE_CIR
73-
if (UseCIR)
74-
return std::make_unique<cir::EmitBCAction>();
75-
#endif
76-
return std::make_unique<EmitBCAction>();
65+
case EmitAssembly: return std::make_unique<EmitAssemblyAction>();
66+
case EmitBC: return std::make_unique<EmitBCAction>();
7767
case EmitCIR:
7868
#if CLANG_ENABLE_CIR
7969
return std::make_unique<cir::EmitCIRAction>();
@@ -90,12 +80,7 @@ CreateFrontendBaseAction(CompilerInstance &CI) {
9080
}
9181
case EmitLLVMOnly: return std::make_unique<EmitLLVMOnlyAction>();
9282
case EmitCodeGenOnly: return std::make_unique<EmitCodeGenOnlyAction>();
93-
case EmitObj:
94-
#if CLANG_ENABLE_CIR
95-
if (UseCIR)
96-
return std::make_unique<cir::EmitObjAction>();
97-
#endif
98-
return std::make_unique<EmitObjAction>();
83+
case EmitObj: return std::make_unique<EmitObjAction>();
9984
case ExtractAPI:
10085
return std::make_unique<ExtractAPIAction>();
10186
case FixIt: return std::make_unique<FixItAction>();

clang/test/CIR/emit-actions.cpp

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)