[llvm-reduce] Refactor global variable delta pass
authorRoman Lebedev <lebedev.ri@gmail.com>
Sat, 2 Jan 2021 16:56:27 +0000 (19:56 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Sat, 2 Jan 2021 22:45:47 +0000 (01:45 +0300)
commit5799fc79c3fdbc81dd421afae38197009ad605c9
tree4a15b3d0cfd96e90b785ee87732b4bbf0302fedb
parent19ab1817b61d3b716f69f78f727de8bd8887f53f
[llvm-reduce] Refactor global variable delta pass

The limitation of the current pass that it skips initializer-less GV's
seems arbitrary, in all the reduced cases i (personally) looked at,
the globals weren't needed, yet they were kept.

So let's do two things:
1. allow reducing initializer-less globals
2. before reducing globals, reduce their initializers, much like we do function bodies
llvm/test/Reduce/Inputs/remove-global-vars.py [deleted file]
llvm/test/Reduce/remove-global-vars.ll
llvm/tools/llvm-reduce/CMakeLists.txt
llvm/tools/llvm-reduce/DeltaManager.h
llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp [new file with mode: 0644]
llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h [new file with mode: 0644]
llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h