This change make sure that ExecutionEngine's pass pipeline is identical to one
used by clang. Previously, SLPVectorization was not enabled which caused
differences in code...
...generation.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D137248
CGSCCAnalysisManager cgam;
ModuleAnalysisManager mam;
- PassBuilder pb(targetMachine);
+ PipelineTuningOptions tuningOptions;
+ tuningOptions.LoopUnrolling = true;
+ tuningOptions.LoopInterleaving = true;
+ tuningOptions.LoopVectorization = true;
+ tuningOptions.SLPVectorization = true;
+
+ PassBuilder pb(targetMachine, tuningOptions);
pb.registerModuleAnalyses(mam);
pb.registerCGSCCAnalyses(cgam);