HomePhabricator

[LoopSink] Add preheader to alias set

Description

[LoopSink] Add preheader to alias set

This patch fixes PR39695.

The original LoopSink only considers memory alias in loop body. But PR39695 shows that instructions following sink candidate in preheader should also be checked. This is a conservative patch, it simply adds whole preheader block to alias set. It may lose some optimization opportunity, but I think that is very rare because: 1 in the most common case st/ld to the same address, the load should already be optimized away. 2 usually preheader is not very large.

Differential Revision: https://reviews.llvm.org/D54659

Details

Committed
CarrotNov 20 2018, 8:49 AM
Differential Revision
D54659: [LoopSink] Add preheader to alias set
Parents
rL347324: [APInt] Add methods for saturated add and sub
Branches
Unknown
Tags
Unknown