llvm-project/llvm/test/Transforms/GlobalOpt
Shimin Cui 732b05555c [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc
I'm working on extending the OptimizeGlobalAddressOfMalloc to handle some more general cases. This is to add support of the ConstantExpr use of the global variables. The function allUsesOfLoadedValueWillTrapIfNull is now iterative with the added CE use of GV. Also, the recursive function valueIsOnlyUsedLocallyOrStoredToOneGlobal is changed to iterative using a worklist with the GEP case added.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D106589
2021-07-31 18:42:02 -04:00
..
PowerPC
2004-10-10-CastStoreOnce.ll
2005-06-15-LocalizeConstExprCrash.ll
2005-09-27-Crash.ll
2006-07-07-InlineAsmCrash.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
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 Revert "[GlobalOpt] Revert valgrind hacks" 2021-04-13 17:47:07 -07:00
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 [IR] Convert null-pointer-is-valid into an enum attribute 2020-05-15 19:41:07 +02:00
MallocSROA-section.ll [GlobalOpt] Remove heap SROA 2021-05-11 11:34:37 -07:00
SROA-section.ll
alias-resolve.ll [GlobalOpt] Don't replace alias with aliasee if aliasee is interposable 2021-04-22 13:12:34 -07:00
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 remove UB from test by making GV alignment explicit 2019-12-01 15:16:31 +00:00
available_externally_global_ctors.ll
basictest.ll
blockaddress.ll
cleanup-pointer-root-users.ll Revert "[GlobalOpt] Revert valgrind hacks" 2021-04-13 17:47:07 -07:00
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 Revert "[GlobalOpt] Revert valgrind hacks" 2021-04-13 17:47:07 -07:00
deaddeclaration.ll
deadfunction.ll
deadglobal-2.ll
deadglobal-diarglist-use.ll [IR] Make TypeFinder aware of DIArgList values 2021-05-28 17:09:45 +02:00
deadglobal.ll
evaluate-bitcast-2.ll
evaluate-bitcast-3.ll
evaluate-bitcast-4.ll Fix for Bug 48055. 2020-12-04 11:05:01 -08:00
evaluate-bitcast.ll
evaluate-call-errors.ll [GVN] add early exit to ConstantFoldLoadThroughBitcast [NFC] 2020-07-13 21:44:17 -04:00
evaluate-call.ll
evaluate-constfold-call.ll
externally-initialized-aggregate.ll
externally-initialized-global-ctr.ll [GlobalOpt] recompute alignments for loads and stores of updated globals 2021-05-20 12:12:21 -04:00
externally-initialized.ll
fastcc.ll Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
global-demotion.ll
globalsra-align.ll [GlobalOpt] recompute alignments for loads and stores of updated globals 2021-05-20 12:12:21 -04:00
globalsra-multigep.ll
globalsra-partial.ll
globalsra-unknown-index.ll
globalsra.ll
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 [GlobalOpt] Remove heap SROA 2021-05-11 11:34:37 -07: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 [GlobalOpt] Remove heap SROA 2021-05-11 11:34:37 -07: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 [GlobalOpt] Remove heap SROA 2021-05-11 11:34:37 -07:00
int_sideeffect.ll
integer-bool-dwarf.ll
integer-bool.ll
invariant-nodatalayout.ll
invariant.group.ll [Evaluator] Bitcast result of pointer stripping 2021-04-21 13:32:29 -07:00
invariant.ll
invoke.ll
iterate.ll
large-int-crash.ll
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
localize-constexpr-debuginfo.ll
localize-constexpr.ll
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
malloc-promote-4.ll This patch extends the OptimizeGlobalAddressOfMalloc to handle the null check of global pointer variables. It is disabled with https://reviews.llvm.org/rGb7cd291c1542aee12c9e9fde6c411314a163a8ea. This PR is to reenable it while fixing the original problem reported. The fix is to set the store value correctly when creating store for the new created global init bool symbol. 2021-07-20 12:27:26 -04:00
memcpy.ll
memset-null.ll
memset.ll
metadata.ll
musttail_cc.ll
naked_functions.ll
new-promote.ll [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc 2021-07-31 18:42:02 -04:00
null-check-is-use-pr35760.ll This patch extends the OptimizeGlobalAddressOfMalloc to handle the null check of global pointer variables. It is disabled with https://reviews.llvm.org/rGb7cd291c1542aee12c9e9fde6c411314a163a8ea. This PR is to reenable it while fixing the original problem reported. The fix is to set the store value correctly when creating store for the new created global init bool symbol. 2021-07-20 12:27:26 -04:00
null-check-not-use-pr35760.ll This patch extends the OptimizeGlobalAddressOfMalloc to handle the null check of global pointer variables. It is disabled with https://reviews.llvm.org/rGb7cd291c1542aee12c9e9fde6c411314a163a8ea. This PR is to reenable it while fixing the original problem reported. The fix is to set the store value correctly when creating store for the new created global init bool symbol. 2021-07-20 12:27:26 -04:00
phi-select.ll
pr21191.ll
pr33686.ll
preallocated.ll [GlobalOpt] Remove preallocated calls when possible 2020-06-18 09:56:13 -07:00
preserve-comdats.ll
shrink-address-to-bool.ll
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
store-struct-element.ll [GlobalOpt] Fix a miscompile when evaluating struct initializers. 2021-07-14 15:37:01 -07: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
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
tls.ll
trivialstore.ll
undef-init.ll
unnamed-addr.ll [globalopt] Teach to look through `addrspacecast`. 2020-10-16 08:43:09 -04:00
zeroinitializer-gep-load.ll