aaron.ballman accepted this revision.
aaron.ballman added a comment.

In D155548#4653363 <https://reviews.llvm.org/D155548#4653363>, @cor3ntin wrote:

> @aaron.ballman Given the recent discussion we had on both github 
> (https://github.com/llvm/llvm-project/pull/66203) and privately, I'm going to 
> accept that.
> We only create ConstantExpr for ICE and immediate invocations, so it would 
> have a much less limited and impact that first envisioned (we should fix 
> that, cf https://github.com/llvm/llvm-project/issues/61425), and so we don't 
> have good benchmarks were this patch makes things better,
> but it also doesn't make things worse and in helps in limited cases.
>
> We should probably investigate as a follow up whether we should use 
> `ConstantExpr` in more places

I'm very skeptical of performance improvements where we can't actually measure 
that performance was improved. However, I actually agree with @cor3ntin in this 
case -- we're not using `ConstantExpr` in places where I would have expected to 
see it used -- instead we do a dance like we do here with `IntegerLiteral` and 
`CXXBoolLiteralExpr`, so this would currently require `consteval`-heavy code to 
see what kind of performance improvements there are, and there's not a lot of 
extant code for us to test against.

I'm accepting with some reluctance given the lack of demonstration that this is 
an improvement; please keep an eye out for new issues filed against Clang 18 
for performance regressions. I don't expect this to cause any issues, but best 
to keep it in mind given the testing done showing increases in wall clock time 
as well as decreases. Hopefully follow-up work will improve caching by using 
`ConstantExpr` in more places.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155548/new/

https://reviews.llvm.org/D155548

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to