[llvm] [SimplifyCFG] When only one case value is missing, replace default with that case (PR #76669)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 16 07:14:08 PST 2024
joanahalili wrote:
> > > > actually, this seems to be uncovering some bad behavior during codegen, still investigating
> > >
> > >
> > > To expound a bit on this - the test case we're looking at goes from 300MB to 18GB peak RAM usage.
> > > 81% of that peak memory usage is coming from SSAUpdaterImpl. (TailDuplicateBase, TailDuplicator, MachineSSAUpdater) (oh, and another 12% from the same place, basically - just BumpPtrAllocatorImpl for the operands rather than `new` for the MachineInstrs - and another 3% of more BumpPtrAllocatorImpl in the same place... so 96%)
> >
> >
> > Could you share a test case? This looks like a different issue than #77831?
>
> Will share as soon as we have something shareable - it's proving a bit difficult to reduce something to a shareable/non-private thing. We're hoping that by sharing the info we can it might be enough to motivate a revert or help inspire you/others to figure out the bug and/or guess at a representative test case yourself in the mean time.
>
> But, yeah, we'll keep working on something shareable in the mean time.
I am adding here a reproducer where we see a 5x memory increase due to this commit. To reproduce:
`clang -cc1 -O1 -emit-obj reduced.ll -o /dev/null`
[repro.zip](https://github.com/llvm/llvm-project/files/13952074/repro.zip)
Could you please revert?
https://github.com/llvm/llvm-project/pull/76669
More information about the llvm-commits
mailing list