[PATCH] D24098: AMDGPU/SI: Don't run SLSR and NaryReassociate passes

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 12:52:11 PDT 2016


tstellarAMD created this revision.
tstellarAMD added a reviewer: arsenm.
tstellarAMD added a subscriber: llvm-commits.
Herald added subscribers: wdng, arsenm.

These can cause infinite compile times like for example:
https://llvm.org/bugs/show_bug.cgi?id=28721

https://reviews.llvm.org/D24098

Files:
  lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Index: lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
===================================================================
--- lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -355,17 +355,9 @@
 void AMDGPUPassConfig::addStraightLineScalarOptimizationPasses() {
   addPass(createSeparateConstOffsetFromGEPPass());
   addPass(createSpeculativeExecutionPass());
-  // ReassociateGEPs exposes more opportunites for SLSR. See
-  // the example in reassociate-geps-and-slsr.ll.
-  addPass(createStraightLineStrengthReducePass());
   // SeparateConstOffsetFromGEP and SLSR creates common expressions which GVN or
   // EarlyCSE can reuse.
   addEarlyCSEOrGVNPass();
-  // Run NaryReassociate after EarlyCSE/GVN to be more effective.
-  addPass(createNaryReassociatePass());
-  // NaryReassociate on GEPs creates redundant common expressions, so run
-  // EarlyCSE after it.
-  addPass(createEarlyCSEPass());
 }
 
 void AMDGPUPassConfig::addIRPasses() {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24098.69895.patch
Type: text/x-patch
Size: 983 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160831/b9bebfff/attachment.bin>


More information about the llvm-commits mailing list