This is an archive of the discontinued LLVM Phabricator instance.

GVN-hoist: disable hoisting stores (PR30216)
AbandonedPublic

Authored by sebpop on Sep 1 2016, 6:39 AM.

Details

Reviewers
dberlin
Summary

This patch disables hoisting of stores until we implement a proper dependence
analysis, or we may just decide to always sink the stores. The number of stores
hoisted was low: on the test-suite we were only hoisting 15 stores.

Diff Detail

Event Timeline

sebpop updated this revision to Diff 69999.Sep 1 2016, 6:39 AM
sebpop retitled this revision from to GVN-hoist: disable hoisting stores (PR30216).
sebpop updated this object.
sebpop added a reviewer: dberlin.
sebpop added a subscriber: llvm-commits.

Hi Sebastian. I tried this on one of our BB that tests recursive builds and test/Transforms/GVN/pr28626.ll is failing. I'm getting the same failure on an X86_64 host.

-- Testing: 1 tests, 1 threads --                                                 
FAIL: LLVM :: Transforms/GVN/pr28626.ll (1 of 1)                                  
******************** TEST 'LLVM :: Transforms/GVN/pr28626.ll' FAILED *************
*******                                                                           
Script:                                                                           
--                                                                                
/home/vk/build/llvm/debug/./bin/opt -S -gvn-hoist < /home/vk/repos/llvm/test/Trans
forms/GVN/pr28626.ll | /home/vk/build/llvm/debug/./bin/FileCheck /home/vk/repos/ll
vm/test/Transforms/GVN/pr28626.ll                                                 
--                                                                                
Exit Code: 1                                                                      
                                                                                  
Command Output (stderr):                                                          
--                                                                                
<stdin>:28:2: error: CHECK-NOT: string occurred!                                  
 store i1 %c.0, i1* %rc5, align 4                                                 
 ^                                                                                
/home/vk/repos/llvm/test/Transforms/GVN/pr28626.ll:42:14: note: CHECK-NOT: pattern
 specified here                                                                   
; CHECK-NOT: store                                                                
             ^                                                                    
                                                                                  
--                                                                                
                                                                                  
********************                                                              
Testing Time: 0.08s                                                               
********************                                                              
Failing Tests (1):                                                                
    LLVM :: Transforms/GVN/pr28626.ll                                             
                                                                                  
  Unexpected Failures: 1
sebpop abandoned this revision.Sep 19 2016, 1:23 PM

A proper fix is in review: https://reviews.llvm.org/D24517