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"
@@ -207,6 +208,7 @@ void init_triton_intel(py::module &&m) {
207208 fpm.addPass (BreakStructPhiNodesPass ());
208209 fpm.addPass (InstCombinePass ());
209210 });
211+ #if 1
210212 pb.registerPeepholeEPCallback (
211213 [&](llvm::FunctionPassManager &fpm, llvm::OptimizationLevel level) {
212214 // The Triton masked load pattern can generate instances where the
@@ -216,8 +218,12 @@ void init_triton_intel(py::module &&m) {
216218 // an incorrect result for the kernel. Adding `DivRemPairsPass`
217219 // introduces freeze instructions which prevent UB from leaking into
218220 // div/rem instructions.
219- fpm.addPass (DivRemPairsPass ());
221+ // fpm.addPass(DivRemPairsPass());
222+ fpm.addPass (FreezeMaskedDivRemPass ());
220223 });
224+ #else
225+ mpm.addPass(createModuleToFunctionPassAdaptor(FreezeMaskedDivRemPass()));
226+ #endif
221227 mpm.addPass (pb.buildPerModuleDefaultPipeline (opt));
222228 mpm.run (*mod, mam);
223229 });
You can’t perform that action at this time.
0 commit comments