aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-03-24 20:31:13 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-04-17 18:44:38 +0200
commitf715eda60403194bf844a169587726744d0e9cd7 (patch)
treed5952c9dc957c0c296aa2bb5cdaf9f307bb5a160 /clang/lib/CodeGen/CodeGenFunction.cpp
parent24cae17c283e1b4f4672b987d5b978b8fb997f75 (diff)
downloadllvm-f715eda60403194bf844a169587726744d0e9cd7.zip
llvm-f715eda60403194bf844a169587726744d0e9cd7.tar.gz
llvm-f715eda60403194bf844a169587726744d0e9cd7.tar.bz2
[LVI] Cleanup/unify cache access
This patch combines the "has" and "get" parts of the cache access. getCachedValueInfo() now both sets the BBLV return argument, and returns whether the value was found. Additionally, the management of the work stack is now integrated into getBlockValue(). If the value is not cached yet, we try to push to the stack (and return false, indicating that we need to solve first), or return overdefined in case of a cycle. These changes a) avoid a duplicate cache lookup for has & get and b) ensure that the logic is uniform everywhere. For this reason this change is also not quite NFC, because previously overdefined values from the cache, and overdefined values from a cycle received different treatment when it came to assumption intersection. Differential Revision: https://reviews.llvm.org/D76788
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions