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