File tree Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Expand file tree Collapse file tree 2 files changed +8
-1
lines changed Original file line number Diff line number Diff line change 11add_subdirectory (Analysis)
22add_subdirectory (Dialect)
33add_subdirectory (GPUToTritonGEN)
4+ add_subdirectory (LLVMIR)
45add_subdirectory (Target )
56add_subdirectory (TritonAnnotateModule)
67add_subdirectory (TritonGENToLLVM)
Original file line number Diff line number Diff line change 1717#include " intel/include/TritonAnnotateModule/Passes.h"
1818#include " intel/include/TritonIntelGPUToLLVM/Passes.h"
1919#include " intel/include/TritonToTritonGPUWarp/Passes.h"
20+ #include " intel/lib/LLVMIR/LLVMPasses.h"
2021
2122#include " triton/Target/SPIRV/SPIRVTranslation.h"
2223#include " triton/Tools/Sys/GetEnv.hpp"
@@ -205,6 +206,7 @@ void init_triton_intel(py::module &&m) {
205206 fpm.addPass (BreakStructPhiNodesPass ());
206207 fpm.addPass (InstCombinePass ());
207208 });
209+ #if 1
208210 pb.registerPeepholeEPCallback (
209211 [&](llvm::FunctionPassManager &fpm, llvm::OptimizationLevel level) {
210212 // The Triton masked load pattern can generate instances where the
@@ -214,8 +216,12 @@ void init_triton_intel(py::module &&m) {
214216 // an incorrect result for the kernel. Adding `DivRemPairsPass`
215217 // introduces freeze instructions which prevent UB from leaking into
216218 // div/rem instructions.
217- fpm.addPass (DivRemPairsPass ());
219+ // fpm.addPass(DivRemPairsPass());
220+ fpm.addPass (FreezeMaskedDivRemPass ());
218221 });
222+ #else
223+ mpm.addPass(createModuleToFunctionPassAdaptor(FreezeMaskedDivRemPass()));
224+ #endif
219225 mpm.addPass (pb.buildPerModuleDefaultPipeline (opt));
220226 mpm.run (*mod, mam);
221227 });
You can’t perform that action at this time.
0 commit comments