@@ -122,9 +122,15 @@ ir::LoweredFunc Optimize(ir::LoweredFunc fn,
122122 blk_pass_manager.AddPass (CreateCudaSyncThreadsDropIfThenElsePass ());
123123 blk_pass_manager.Run (copied->body_block );
124124 VLOG (10 ) << " After Optimize CudaSyncThreadsDropIfThenElse:" << copied;
125+ FuncPassManager func_pass_manager;
126+ VLOG (10 ) << " Before Optimize TransBufferWithDynamicShape:" << copied;
127+ func_pass_manager.AddPass (CreateTransBufferWithDynamicShapePass ());
128+ func_pass_manager.Run (copied);
129+ VLOG (10 ) << " After Optimize TransBufferWithDynamicShape:" << copied;
125130#endif
126131 },
127- [](auto ) {});
132+ [&](std::variant<common::UnknownArch, common::X86Arch, common::ARMArch>) {
133+ });
128134
129135 SimplifyUnitBlock (&copied->body );
130136 VLOG (4 ) << " After SimplifyUnitBlock:" << copied;
@@ -157,7 +163,14 @@ ir::LoweredFunc Optimize(ir::LoweredFunc fn,
157163 func_pass_manager.Run (copied);
158164 VLOG (4 ) << " After Optimize RearrangeLoadInstruction:" << copied;
159165 },
160- [](auto ) {});
166+ [&](std::variant<common::HygonDCUArchHIP, common::HygonDCUArchSYCL>) {
167+ FuncPassManager func_pass_manager;
168+ func_pass_manager.AddPass (CreateRearrangeLoadInstructionPass ());
169+ func_pass_manager.Run (copied);
170+ VLOG (4 ) << " After Optimize RearrangeLoadInstruction:" << copied;
171+ },
172+ [&](std::variant<common::UnknownArch, common::X86Arch, common::ARMArch>) {
173+ });
161174
162175 VectorizeForTrans (&copied->body );
163176 VLOG (10 ) << " After Optimize vectorize" << copied;
0 commit comments