Skip to content

Commit 4494ce3

Browse files
IDmitryyKonstantin Vladimirov
authored andcommitted
Disable standard llvm passes in CMFE
Disable standard llvm passes in CMFE
1 parent 8f6fe82 commit 4494ce3

5 files changed

Lines changed: 35 additions & 175 deletions

File tree

‎lib/CodeGen/BackendUtil.cpp‎

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -377,11 +377,6 @@ static void addSymbolRewriterPass(const CodeGenOptions &Opts,
377377
MPM->add(createRewriteSymbolsPass(DL));
378378
}
379379

380-
static void addCMSimdCFLoweringPass(const PassManagerBuilder &Builder,
381-
legacy::PassManagerBase &PM) {
382-
PM.add(createCMSimdCFLoweringPass());
383-
}
384-
385380
static CodeGenOpt::Level getCGOptLevel(const CodeGenOptions &CodeGenOpts) {
386381
switch (CodeGenOpts.OptimizationLevel) {
387382
default:
@@ -584,10 +579,6 @@ void EmitAssemblyHelper::CreatePasses(legacy::PassManager &MPM,
584579
PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
585580
addAddDiscriminatorsPass);
586581

587-
if (LangOpts.MdfCM)
588-
PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
589-
addCMSimdCFLoweringPass);
590-
591582
// In ObjC ARC mode, add the main ARC optimization passes.
592583
if (LangOpts.ObjCAutoRefCount) {
593584
PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
@@ -808,6 +799,12 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action,
808799
if (TM)
809800
TheModule->setDataLayout(TM->createDataLayout());
810801

802+
// TODO: This is a temporary change, these passes will have
803+
// to be taken out in the CMFE library
804+
legacy::PassManager CMFEModulePasses;
805+
if (LangOpts.MdfCM)
806+
CMFEModulePasses.add(createCMSimdCFLoweringPass());
807+
811808
legacy::PassManager PerModulePasses;
812809
PerModulePasses.add(
813810
createTargetTransformInfoWrapperPass(getTargetIRAnalysis()));
@@ -898,6 +895,11 @@ void EmitAssemblyHelper::EmitAssembly(BackendAction Action,
898895
// Run passes. For now we do all passes at once, but eventually we
899896
// would like to have the option of streaming code generation.
900897

898+
{
899+
PrettyStackTraceString CrashInfo("CMFE passes");
900+
CMFEModulePasses.run(*TheModule);
901+
}
902+
901903
{
902904
PrettyStackTraceString CrashInfo("Per-function optimization");
903905

‎lib/FrontendWrapper/FrontendWrapper.cpp‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -550,8 +550,7 @@ IntelCMClangFECompile(const Intel::CM::ClangFE::IInputArgs *InArgs) {
550550
DiagnosticSubsystem DS(*error_stream);
551551

552552
auto CStrCompOpts = wrapper::getCompOpts<const char *>(InArgs);
553-
// TODO: consider moving O0 enforcement to AdaptorCM
554-
CStrCompOpts.push_back("-O0");
553+
CStrCompOpts.push_back("-disable-llvm-passes");
555554

556555
// Facilities to pass extra -cc1 options for debug purposes.
557556
// Options are expected to be separated by ';'.

0 commit comments

Comments
 (0)