HomePhabricator

[GlobalOpt] Remove heap SROA

Authored by MaskRay on May 11 2021, 11:34 AM.

Description

[GlobalOpt] Remove heap SROA

GlobalOpt implements a heap SROA (SROA for an malloc allocatated struct or array
of structs) which is largely undertested (heap-sra-[1234].ll are basically the
same test with very little difference) and does not trigger at all when
bootstrapping clang (it only supports the case of one single store).

The heap SROA implementation causes PR50027 (GEP is not properly handled; crash or miscompile).
Just drop the implementation. I have deleted some obviously duplicated tests
but kept heap-sra-[12]{,-no-nullopt}.ll.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D102257

Details

Committed
MaskRayMay 11 2021, 11:34 AM
Reviewer
aeubanks
Differential Revision
D102257: [GlobalOpt] Remove heap SROA
Parents
rGae2b36e8bdfa: [AArch64][GlobalISel] Support truncstorei8/i16 w/ combine to form truncating…
Branches
Unknown
Tags
Unknown

Event Timeline

Herald added a subscriber: Restricted Project. · View Herald TranscriptMay 11 2021, 11:34 AM

Does this reduce spec 2k performance?

Does this reduce spec 2k performance?

I found an internal spec cpu2006 and built all non-Fortran Integer and Floating Point Benchmarks.
No benchmark triggers the optimization.

Spec 2K != Spec 2K6 :-)