summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86LegalizerInfo.cpp
diff options
context:
space:
mode:
authorZvi Rackover <zvi.rackover@intel.com>2017-09-04 08:35:13 +0000
committerZvi Rackover <zvi.rackover@intel.com>2017-09-04 08:35:13 +0000
commit9a087a357a4be44bb40f69f3e23a3e295f70f13e (patch)
tree6912a8eea740e79d05328ea5af7a45470027ded6 /llvm/lib/Target/X86/X86LegalizerInfo.cpp
parent7cd826a321d96af6581e0b1a5d6ec9ad26dcc6c1 (diff)
downloadbcm5719-llvm-9a087a357a4be44bb40f69f3e23a3e295f70f13e.tar.gz
bcm5719-llvm-9a087a357a4be44bb40f69f3e23a3e295f70f13e.zip
LoopVectorize: MaxVF should not be larger than the loop trip count
Summary: Improve how MaxVF is computed while taking into account that MaxVF should not be larger than the loop's trip count. Other than saving on compile-time by pruning the possible MaxVF candidates, this patch fixes pr34438 which exposed the following flow: 1. Short trip count identified -> Don't bail out, set OptForSize:=True to avoid tail-loop and runtime checks. 2. Compute MaxVF returned 16 on a target supporting AVX512. 3. OptForSize -> choose VF:=MaxVF. 4. Bail out because TripCount = 8, VF = 16, TripCount % VF !=0 means we need a tail loop. With this patch step 2. will choose MaxVF=8 based on TripCount. Reviewers: Ayal, dorit, mkuper, hfinkel Reviewed By: hfinkel Subscribers: hfinkel, llvm-commits Differential Revision: https://reviews.llvm.org/D37425 llvm-svn: 312472
Diffstat (limited to 'llvm/lib/Target/X86/X86LegalizerInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud