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 [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
2004-10-10-CastStoreOnce.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2005-06-15-LocalizeConstExprCrash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2005-09-27-Crash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2006-07-07-InlineAsmCrash.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
2006-11-01-ShrinkGlobalPhiCrash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2007-04-05-Crash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2007-05-13-Crash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2007-06-04-PackedStruct.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
2007-11-09-GEP-GEP-Crash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-01-03-Crash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-01-13-OutOfRangeSROA.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-01-29-VolatileGlobal.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-04-26-SROA-Global-Align.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-07-17-addrspace.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-12-16-HeapSRACrash-2.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2008-12-16-HeapSRACrash.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-01-13-phi-user.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-02-15-BitcastAlias.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-02-15-ResolveAlias.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-03-05-dbg.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-03-06-Anonymous.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-03-07-PromotePtrToBool.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-06-01-RecursivePHI.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-11-16-BrokenPerformHeapAllocSRoA.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2009-11-16-MallocSingleStoreToGlobalVar.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2010-02-25-MallocPromote.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2010-02-26-MallocSROA.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
2010-10-19-WeakOdr.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
2011-04-09-EmptyGlobalCtors.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
2012-05-11-blockaddress.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
GSROA-section.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
MallocSROA-section-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
MallocSROA-section.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
SROA-section.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
alias-resolve.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
alias-used-address-space.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
alias-used-section.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
alias-used.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
amdgcn-ctor-alloca.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
array-elem-refs.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
assume.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
atexit.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
atomic.ll remove UB from test by making GV alignment explicit 2019-12-01 15:16:31 +00:00
available_externally_global_ctors.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
basictest.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
blockaddress.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
cleanup-pointer-root-users.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
coldcc_stress_test.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
compiler-used.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
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 Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
constantfold-initializers.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
crash-2.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
crash.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
ctor-list-opt-constexpr.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
ctor-list-opt-inbounds.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
ctor-list-opt.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
cxx-dtor.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
dead-store-status.ll [GlobalOpt] Fix an incorrect Modified status 2020-08-20 11:52:09 +02:00
deaddeclaration.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
deadfunction.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
deadglobal-2.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
deadglobal.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
evaluate-bitcast-2.ll [Evaluator] Walk initial elements when handling load through bitcast 2019-04-25 17:00:01 +00:00
evaluate-bitcast-3.ll [Evaluator] Walk initial elements when handling load through bitcast 2019-04-25 17:00:01 +00:00
evaluate-bitcast.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
evaluate-call-errors.ll [GVN] add early exit to ConstantFoldLoadThroughBitcast [NFC] 2020-07-13 21:44:17 -04:00
evaluate-call.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
evaluate-constfold-call.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
externally-initialized-aggregate.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
externally-initialized-global-ctr.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
externally-initialized.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
fastcc.ll [GlobalOpt] Don't remove inalloca from musttail-called functions 2020-07-07 19:02:46 +02:00
global-demotion.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
globalsra-multigep.ll Revert r361460 2019-05-24 01:03:51 +00:00
globalsra-partial.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
globalsra-unknown-index.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
globalsra.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
heap-sra-1-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-2-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-2.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-3-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-3.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-4-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-4.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-phi-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
heap-sra-phi.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
int_sideeffect.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
integer-bool-dwarf.ll [DebugInfo] GlobalOpt DW_OP_deref_size instead of DW_OP_deref. 2019-05-06 07:20:56 +00:00
integer-bool.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
invariant-nodatalayout.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
invariant.group.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
invariant.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
invoke.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
iterate.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
large-int-crash.ll [GlobalOpt] prevent crashing on large integer types (PR42932) 2019-08-09 12:43:25 +00:00
load-store-global-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
load-store-global.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
localize-constexpr-debuginfo.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
localize-constexpr.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
long-compilation-global-sra.ll [Transforms][GlobalSRA] huge array causes long compilation time and huge memory usage. 2020-01-04 16:42:38 +03:00
malloc-promote-1-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
malloc-promote-1.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
malloc-promote-2-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
malloc-promote-2.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
malloc-promote-3.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
memcpy.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
memset-null.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
memset.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
metadata.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
musttail_cc.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
naked_functions.ll IR: print value numbers for unnamed function arguments 2019-08-03 14:28:34 +00:00
null-check-is-use-pr35760.ll [GlobalOpt] Treat null-check of loaded value as use of global (PR35760) 2020-03-23 22:36:09 -07:00
phi-select.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
pr21191.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
pr33686.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
preallocated.ll [GlobalOpt] Remove preallocated calls when possible 2020-06-18 09:56:13 -07:00
preserve-comdats.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
shrink-address-to-bool.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
shrink-global-to-bool-check-debug.ll [GlobalOpt] Explicitly set alignment of bool load/store operations. 2020-04-12 16:03:12 -07:00
static-const-bitcast.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
storepointer-compare-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
storepointer-compare.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
storepointer-no-null-opt.ll [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
storepointer.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
tls.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
trivialstore.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
undef-init.ll [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
unnamed-addr.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
zeroinitializer-gep-load.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00