[PATCH] Add basic support for removal of load that are fed by a	store of an aggregate
    Björn Steinbrink 
    bsteinbr at gmail.com
       
    Mon Jan 12 11:25:42 PST 2015
    
    
  
On 2015.01.02 16:23:05 -0800, Chandler Carruth wrote:
> As a side note, I don't know what Rust's ABI concerns are, but if at all
> possible, I would suggest moving away from FCAs in the frontend as much as
> possible. Everything I have seen in LLVM is that they obstruct optimization
> in significant ways.
FWIW the Rust compiler no longer emits loads/stores of FCAs, replacing
them with appropriately sized integers when in need of a value (like
Clang). This solves the original problem. There is a case where using
FCA + my patch caused a branch to be eliminated that isn't eliminated
with the default pass manager setup. Only passing the code through opt
twice handles that. I don't have a small test case for that though.
Björn
    
    
More information about the llvm-commits
mailing list