aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/InitPreprocessor.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2024-07-10 14:22:21 +0100
committerFlorian Hahn <flo@fhahn.com>2024-07-10 14:22:21 +0100
commitb841e2eca3b5c8b408214a46593f6a025e0fe48b (patch)
tree5eac4b9ec32165143e69f6773a8692d7fece424d /clang/lib/Frontend/InitPreprocessor.cpp
parent62b3e68d33035f14e83320b7921c80b36dcbea8c (diff)
downloadllvm-b841e2eca3b5c8b408214a46593f6a025e0fe48b.zip
llvm-b841e2eca3b5c8b408214a46593f6a025e0fe48b.tar.gz
llvm-b841e2eca3b5c8b408214a46593f6a025e0fe48b.tar.bz2
Recommit "[VPlan] First step towards VPlan cost modeling. (#92555)"
This reverts commit 6f538f6a2d3224efda985e9eb09012fa4275ea92. A number of crashes have been fixed by separate fixes, including ttps://github.com/llvm/llvm-project/pull/96622. This version of the PR also pre-computes the costs for branches (except the latch) instead of computing their costs as part of costing of replicate regions, as there may not be a direct correspondence between original branches and number of replicate regions. Original message: This adds a new interface to compute the cost of recipes, VPBasicBlocks, VPRegionBlocks and VPlan, initially falling back to the legacy cost model for all recipes. Follow-up patches will gradually migrate recipes to compute their own costs step-by-step. It also adds getBestPlan function to LVP which computes the cost of all VPlans and picks the most profitable one together with the most profitable VF. The VPlan selected by the VPlan cost model is executed and there is an assert to catch cases where the VPlan cost model and the legacy cost model disagree. Even though I checked a number of different build configurations on AArch64 and X86, there may be some differences that have been missed. Additional discussions and context can be found in @arcbbb's https://github.com/llvm/llvm-project/pull/67647 and https://github.com/llvm/llvm-project/pull/67934 which is an earlier version of the current PR. PR: https://github.com/llvm/llvm-project/pull/92555
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
0 files changed, 0 insertions, 0 deletions