[all-commits] [llvm/llvm-project] 0129cd: Use deref facts derived from minimum object size o...
Philip Reames via All-commits
all-commits at lists.llvm.org
Thu Dec 3 15:01:33 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 0129cd503575076556935a16f458b0a3c2e30646
https://github.com/llvm/llvm-project/commit/0129cd503575076556935a16f458b0a3c2e30646
Author: Philip Reames <listmail at philipreames.com>
Date: 2020-12-03 (Thu, 03 Dec 2020)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
Log Message:
-----------
Use deref facts derived from minimum object size of allocations
This change should be fairly straight forward. If we've reached a call, check to see if we can tell the result is dereferenceable from information about the minimum object size returned by the call.
To control compile time impact, I'm only adding the call for base facts in the routine. getObjectSize can also do recursive reasoning, and we don't want that general capability here.
As a follow up patch (without separate review), I will plumb through the missing TLI parameter. That will have the effect of extending this to known libcalls - malloc, new, and the like - whereas currently this only covers calls with the explicit allocsize attribute.
Differential Revision: https://reviews.llvm.org/D90341
More information about the All-commits
mailing list