aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ObjectFile.cpp
diff options
context:
space:
mode:
authorMircea Trofin <mtrofin@google.com>2020-04-30 16:22:31 -0700
committerMircea Trofin <mtrofin@google.com>2020-05-01 16:18:59 -0700
commite1c4a7cb16c470ebb0eadd24223082817a90ca0c (patch)
tree77cc2f4606098c44452e8157e2fad8eff86ea2a4 /llvm/lib/Object/ObjectFile.cpp
parent2265009fbeadfb03774f8789c29b6798da2f1652 (diff)
downloadllvm-e1c4a7cb16c470ebb0eadd24223082817a90ca0c.zip
llvm-e1c4a7cb16c470ebb0eadd24223082817a90ca0c.tar.gz
llvm-e1c4a7cb16c470ebb0eadd24223082817a90ca0c.tar.bz2
[llvm][NFC] Inliner: simplify inlining decision logic
Summary: shouldInline makes a decision based on the InlineCost of a call site, as well as an evaluation on whether the site should be deferred. This means it's possible for the decision to be not to inline, even for an InlineCost that would otherwise allow it. Both uses of shouldInline performed the exact same logic after calling it. In addition, the decision on whether to inline or not was communicated through two values of the Option<InlineCost> return value: None, or an InlineCost evaluating to false. Simplified by: - encapsulating the decision in the return object. The bool it evaluates to communicates unambiguously the decision. The InlineCost is also available. - encapsulated the common post-shouldInline code into shouldInline. Reviewers: davidxl, echristo, eraman Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79215
Diffstat (limited to 'llvm/lib/Object/ObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions