[InlineCost] make InlineCost assignable
authorFedor Sergeev <fedor.sergeev@azul.com>
Thu, 27 Jun 2019 23:41:03 +0000 (23:41 +0000)
committerFedor Sergeev <fedor.sergeev@azul.com>
Thu, 27 Jun 2019 23:41:03 +0000 (23:41 +0000)
Summary:
Current InlineCost is not assignable because of const members Cost and Threshold.
I dont see practical benefits from having them const (access to these members is
private and internal interactions are rather simple). On other hand that makes
it hard to use as a member in some other data structure where assignability is necessary.

I'm going to use InlineCost in a downstream inliner that maintains a complex queue
of candidate call-sites and thus keeping and recalculating InlineCost is necessary.

This patch just removes 'const' from both members, making InlineCost assignable.

Reviewers: eraman, greened, chandlerc, yrouban, apilipenko
Reviewed By: apilipenko
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63823

llvm-svn: 364612

llvm/include/llvm/Analysis/InlineCost.h

index d937308..611c9de 100644 (file)
@@ -67,10 +67,10 @@ class InlineCost {
   };
 
   /// The estimated cost of inlining this callsite.
-  const int Cost;
+  int Cost;
 
   /// The adjusted threshold against which this cost was computed.
-  const int Threshold;
+  int Threshold;
 
   /// Must be set for Always and Never instances.
   const char *Reason = nullptr;