[PATCH] Add Load Combine Pass

Nadav Rotem nrotem at apple.com
Wed May 7 09:25:24 PDT 2014


Michael, 

Can you run this clang with this patch on the LLVM test suite and measure the execution time and compile time differences of your patch?  Also, I’d be interested in knowing how many times this patch fires on the LLVM test suite. I usually figure it out by adding a call to ‘fprintf’ every time the optimization fires.  

Thanks,
Nadav

On May 6, 2014, at 8:53 PM, Michael Spencer <bigcheesegs at gmail.com> wrote:

> Moved out to separate pass run after SLP vectorizer. Still need to do a test-suite run.
> 
> This combines some loads that probably shouldn't be combined. I believe the proper fix here is to split (trunc (shr (load ...), <multiple of 8>), n) in SDAG for targets where the hardware will do load combining. This still exposes the optimization opportunity without regressing anything.
> 
> http://reviews.llvm.org/D3580
> 
> Files:
>  include/llvm/InitializePasses.h
>  include/llvm/Transforms/Scalar.h
>  lib/Transforms/IPO/PassManagerBuilder.cpp
>  lib/Transforms/Scalar/CMakeLists.txt
>  lib/Transforms/Scalar/LoadCombine.cpp
>  lib/Transforms/Scalar/Scalar.cpp
>  test/Transforms/LoadCombine/load-combine.ll
> <D3580.9145.patch>





More information about the llvm-commits mailing list