llvm-project/llvm/test/Transforms/GlobalOpt
David Stenberg 6d36b22b21 [GlobalOpt] Fix an incorrect Modified status
When marking a global variable constant, and simplifying users using
CleanupConstantGlobalUsers(), the pass could incorrectly return false if
there were still some uses left, and no further optimizations was done.

This was caught using the check introduced by D80916.

This fixes PR46749.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D85837
2020-09-02 15:00:45 +02:00
..
PowerPC
2004-10-10-CastStoreOnce.ll
2005-06-15-LocalizeConstExprCrash.ll
2005-09-27-Crash.ll
2006-07-07-InlineAsmCrash.ll
2006-11-01-ShrinkGlobalPhiCrash.ll
2007-04-05-Crash.ll
2007-05-13-Crash.ll
2007-06-04-PackedStruct.ll
2007-11-09-GEP-GEP-Crash.ll
2008-01-03-Crash.ll
2008-01-13-OutOfRangeSROA.ll
2008-01-29-VolatileGlobal.ll
2008-04-26-SROA-Global-Align.ll
2008-07-17-addrspace.ll
2008-12-16-HeapSRACrash-2.ll
2008-12-16-HeapSRACrash.ll
2009-01-13-phi-user.ll
2009-02-15-BitcastAlias.ll
2009-02-15-ResolveAlias.ll
2009-03-05-dbg.ll
2009-03-06-Anonymous.ll
2009-03-07-PromotePtrToBool.ll
2009-06-01-RecursivePHI.ll
2009-11-16-BrokenPerformHeapAllocSRoA.ll
2009-11-16-MallocSingleStoreToGlobalVar.ll
2010-02-25-MallocPromote.ll
2010-02-26-MallocSROA.ll
2010-10-19-WeakOdr.ll
2011-04-09-EmptyGlobalCtors.ll
2012-05-11-blockaddress.ll
GSROA-section.ll
MallocSROA-section-no-null-opt.ll
MallocSROA-section.ll
SROA-section.ll
alias-resolve.ll
alias-used-address-space.ll
alias-used-section.ll
alias-used.ll
amdgcn-ctor-alloca.ll
array-elem-refs.ll
assume.ll
atexit.ll
atomic.ll
available_externally_global_ctors.ll
basictest.ll
blockaddress.ll
cleanup-pointer-root-users.ll
coldcc_stress_test.ll
compiler-used.ll
const-return-status-atomic.ll [GlobalOpt] Fix an incorrect Modified status 2020-09-02 15:00:45 +02:00
const-return-status.ll [GlobalOpt] Fix an incorrect Modified status 2020-09-02 15:00:45 +02:00
constantexpr-dangle.ll
constantfold-initializers.ll
crash-2.ll
crash.ll
ctor-list-opt-constexpr.ll
ctor-list-opt-inbounds.ll
ctor-list-opt.ll
cxx-dtor.ll
dead-store-status.ll
deaddeclaration.ll
deadfunction.ll
deadglobal-2.ll
deadglobal.ll
evaluate-bitcast-2.ll
evaluate-bitcast-3.ll
evaluate-bitcast.ll
evaluate-call-errors.ll
evaluate-call.ll
evaluate-constfold-call.ll
externally-initialized-aggregate.ll
externally-initialized-global-ctr.ll
externally-initialized.ll
fastcc.ll
global-demotion.ll
globalsra-multigep.ll
globalsra-partial.ll
globalsra-unknown-index.ll
globalsra.ll
heap-sra-1-no-null-opt.ll
heap-sra-1.ll
heap-sra-2-no-null-opt.ll
heap-sra-2.ll
heap-sra-3-no-null-opt.ll
heap-sra-3.ll
heap-sra-4-no-null-opt.ll
heap-sra-4.ll
heap-sra-phi-no-null-opt.ll
heap-sra-phi.ll
int_sideeffect.ll
integer-bool-dwarf.ll
integer-bool.ll
invariant-nodatalayout.ll
invariant.group.ll
invariant.ll
invoke.ll
iterate.ll
large-int-crash.ll
load-store-global-no-null-opt.ll
load-store-global.ll
localize-constexpr-debuginfo.ll
localize-constexpr.ll
long-compilation-global-sra.ll
malloc-promote-1-no-null-opt.ll
malloc-promote-1.ll
malloc-promote-2-no-null-opt.ll
malloc-promote-2.ll
malloc-promote-3.ll
memcpy.ll
memset-null.ll
memset.ll
metadata.ll
musttail_cc.ll
naked_functions.ll
null-check-is-use-pr35760.ll
phi-select.ll
pr21191.ll
pr33686.ll
preallocated.ll
preserve-comdats.ll
shrink-address-to-bool.ll
shrink-global-to-bool-check-debug.ll
static-const-bitcast.ll
storepointer-compare-no-null-opt.ll
storepointer-compare.ll
storepointer-no-null-opt.ll
storepointer.ll
tls.ll
trivialstore.ll
undef-init.ll
unnamed-addr.ll
zeroinitializer-gep-load.ll