llvm-6502/test
Nico Weber 3a5b1043d0 Teach GlobalDCE how to remove empty global_ctor entries.
This moves most of GlobalOpt's constructor optimization
code out of GlobalOpt into Transforms/Utils/CDtorUtils.{h,cpp}. The
public interface is a single function OptimizeGlobalCtorsList() that
takes a predicate returning which constructors to remove.

GlobalOpt calls this with a function that statically evaluates all
constructors, just like it did before. This part of the change is
behavior-preserving.

Also add a call to this from GlobalDCE with a filter that removes global
constructors that contain a "ret" instruction and nothing else – this
fixes PR19590.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207856 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-02 18:35:25 +00:00
..
Analysis
Assembler
Bindings
Bitcode
BugPoint
CodeGen DAGCombine: prevent formation of illegal ConstantFP nodes. 2014-05-02 17:25:02 +00:00
DebugInfo DebugInfo: Correct the attribute type kind. 2014-05-01 18:31:21 +00:00
ExecutionEngine
Feature [IR] Make {extract,insert}element accept an index of any integer type. 2014-05-01 22:12:39 +00:00
FileCheck
Instrumentation
Integer
JitListener
Linker
LTO
MC MC: place .file records into the correct section 2014-05-02 17:45:24 +00:00
Object [llvm-readobj] Add support for Mips specific ELF header e_flags. 2014-05-01 11:07:19 +00:00
Other
TableGen
tools
Transforms Teach GlobalDCE how to remove empty global_ctor entries. 2014-05-02 18:35:25 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Don't expect to find fpcmp and PerfectShuffle when running lit tests 2014-04-30 21:26:35 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh