ScopInfo: Do not derive assumptions from all GEP pointer instructions
authorTobias Grosser <tobias@grosser.es>
Sat, 3 Sep 2016 21:55:25 +0000 (21:55 +0000)
committerTobias Grosser <tobias@grosser.es>
Sat, 3 Sep 2016 21:55:25 +0000 (21:55 +0000)
commit8d4cb1a06071250c82ac301a81496f979055484d
tree3e4ee0a5abbb679796ba9ccd515424ec1866be85
parent241e6c70865b52d72f7e6a28194932d01c12989c
ScopInfo: Do not derive assumptions from all GEP pointer instructions

... but instead rely on the assumptions that we derive for load/store
instructions.

Before we were able to delinearize arrays, we used GEP pointer instructions
to derive information about the likely range of induction variables, which
gave us more freedom during loop scheduling. Today, this is not needed
any more as we delinearize multi-dimensional memory accesses and as part
of this process also "assume" that all accesses to these arrays remain
inbounds. The old derive-assumptions-from-GEP code has consequently become
mostly redundant. We drop it both to clean up our code, but also to improve
compile time. This change reduces the scop construction time for 3mm in
no-asserts mode on my machine from 48 to 37 ms.

llvm-svn: 280601
polly/include/polly/ScopInfo.h
polly/lib/Analysis/ScopInfo.cpp