Add an optimization that does CSE in a group of similar GEPs.

Press ? to show keyboard shortcuts.
Committed
elibenMay 1 2014, 11:38 AM
Parents
rL207782: DebugInfo: Correct the attribute type kind.
Branches
Unknown
Tags
Unknown
Description

Add an optimization that does CSE in a group of similar GEPs.

This optimization merges the common part of a group of GEPs, so we can compute
each pointer address by adding a simple offset to the common part.

The optimization is currently only enabled for the NVPTX backend, where it has
a large payoff on some benchmarks.

Review: http://reviews.llvm.org/D3462

Patch by Jingyue Wu.

rL207783

llvm/trunk/include/llvm/InitializePasses.h

Loading...

llvm/trunk/include/llvm/LinkAllPasses.h

Loading...

llvm/trunk/include/llvm/Transforms/Scalar.h

Loading...

llvm/trunk/lib/Target/NVPTX/NVPTXTargetMachine.cpp

Loading...

llvm/trunk/lib/Transforms/Scalar/Scalar.cpp

Loading...

llvm/trunk/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp

Loading...

llvm/trunk/test/Transforms/SeparateConstOffsetFromGEP/

Loading...

llvm/trunk/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/

Loading...

llvm/trunk/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lit.local.cfg

Loading...

llvm/trunk/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll

Loading...

llvm/trunk/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll

Loading...

Add Comment