[all-commits] [llvm/llvm-project] 129f46: [GlobalOpt] Remove heap SROA

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue May 11 11:35:03 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 129f466e222e13fdf680356831bb935e1229bdf4
      https://github.com/llvm/llvm-project/commit/129f466e222e13fdf680356831bb935e1229bdf4
  Author: Fangrui Song <i at maskray.me>
  Date:   2021-05-11 (Tue, 11 May 2021)

  Changed paths:
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/GlobalOpt/MallocSROA-section.ll
    M llvm/test/Transforms/GlobalOpt/heap-sra-1.ll
    M llvm/test/Transforms/GlobalOpt/heap-sra-2.ll
    R llvm/test/Transforms/GlobalOpt/heap-sra-3-no-null-opt.ll
    R llvm/test/Transforms/GlobalOpt/heap-sra-3.ll
    R llvm/test/Transforms/GlobalOpt/heap-sra-4-no-null-opt.ll
    R llvm/test/Transforms/GlobalOpt/heap-sra-4.ll
    M llvm/test/Transforms/GlobalOpt/heap-sra-phi.ll

  Log Message:
  -----------
  [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




More information about the All-commits mailing list