llvm-project/llvm/test/Transforms/GlobalOpt
Reid Kleckner 80c6ec11d9 [GlobalOpt] Don't apply fastcc if it would break inalloca invariants
The inalloca parameter has to be the only parameter passed in memory.
Changing the convention to fastcc can break that.

At some point we should teach global opt how to optimize ABI attributes
like inalloca and maybe byval. These attributes are mainly used to match
C ABIs. They are harder for LLVM to optimize and they don't always
generate the best code.

Fixes PR38487

llvm-svn: 339360
2018-08-09 17:29:26 +00:00
..
PowerPC Re-commit : [PowerPC] Add handling for ColdCC calling convention and a pass to mark 2018-01-30 16:17:22 +00:00
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 Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
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 llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
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 Fix evaluator for non-zero alloca addr space 2018-05-19 02:58:16 +00:00
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 Re-commit : [PowerPC] Add handling for ColdCC calling convention and a pass to mark 2018-01-30 16:17:22 +00:00
compiler-used.ll
constantexpr-dangle.ll
constantfold-initializers.ll
crash-2.ll
crash.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
ctor-list-opt-constexpr.ll
ctor-list-opt-inbounds.ll
ctor-list-opt.ll
cxx-dtor.ll
deaddeclaration.ll
deadfunction.ll
deadglobal-2.ll
deadglobal.ll
evaluate-bitcast.ll [Evaluator] Evaluate load/store with bitcast 2018-03-13 10:19:50 +00:00
evaluate-call-errors.ll [Evaluator] Improve evaluation of call instruction 2018-07-01 11:02:07 +00:00
evaluate-call.ll [Evaluator] Examine alias when evaluating function call 2018-07-10 16:34:23 +00:00
evaluate-constfold-call.ll [Evaluator] Improve evaluation of call instruction 2018-07-01 11:02:07 +00:00
externally-initialized-aggregate.ll Fix some broken CHECK lines. 2017-01-22 20:28:56 +00:00
externally-initialized-global-ctr.ll
externally-initialized.ll
fastcc.ll [GlobalOpt] Don't apply fastcc if it would break inalloca invariants 2018-08-09 17:29:26 +00:00
global-demotion.ll
globalsra-multigep.ll [GlobalOpt] Test array indices inside structs for out-of-bounds accesses 2018-07-28 08:20:10 +00:00
globalsra-partial.ll [GlobalOpt] Test array indices inside structs for out-of-bounds accesses 2018-07-28 08:20:10 +00:00
globalsra-unknown-index.ll
globalsra.ll
heap-sra-1-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-1.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-2-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-2.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-3-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-3.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-4-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-4.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-phi-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
heap-sra-phi.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
int_sideeffect.ll Add an @llvm.sideeffect intrinsic 2017-11-08 21:59:51 +00:00
integer-bool-dwarf.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
integer-bool.ll
invariant-nodatalayout.ll
invariant.group.ll Implement strip.invariant.group 2018-07-02 04:49:30 +00:00
invariant.ll
invoke.ll
iterate.ll
load-store-global-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
load-store-global.ll
localize-constexpr-debuginfo.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
localize-constexpr.ll
malloc-promote-1-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
malloc-promote-1.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
malloc-promote-2-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
malloc-promote-2.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
malloc-promote-3.ll
memcpy.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset-null.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
memset.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
metadata.ll
musttail_cc.ll [GlobalOpt] don't change CC of musttail calle(e|r) 2018-02-28 22:28:44 +00:00
naked_functions.ll [FunctionAttrs][ArgumentPromotion][GlobalOpt] Disable some optimisations passes for naked functions 2018-02-22 14:42:08 +00:00
phi-select.ll
pr21191.ll
pr33686.ll [GlobalOpt] Autogenerate checks for the test in PR33686. 2017-07-13 15:55:34 +00:00
preserve-comdats.ll
shrink-address-to-bool.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
static-const-bitcast.ll [GlobalOpt] Fix support for casts in ctors. 2018-04-06 15:54:47 +00:00
storepointer-compare-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
storepointer-compare.ll
storepointer-no-null-opt.ll llvm: Add support for "-fno-delete-null-pointer-checks" 2018-07-09 22:27:23 +00:00
storepointer.ll
tls.ll
trivialstore.ll
undef-init.ll
unnamed-addr.ll
zeroinitializer-gep-load.ll