llvm-project/llvm/test/Transforms/MergeFunc
Nikita Popov 6f54fb0052 [MergeFuncs] Generate alias instead of thunk if possible
The MergeFunctions pass was originally intended to emit aliases
instead of thunks where possible (unnamed_addr). However, for a
long time this functionality was behind a flag hardcoded to false,
bitrotted and was eventually removed in r309313.

Originally the functionality was first disabled in r108417 due to
lack of support for aliases in Mach-O. I believe that this is no
longer the case nowadays, but not really familiar with this area.

In the interest of being conservative, this patch reintroduces the
aliasing functionality behind a default disabled -mergefunc-use-aliases
flag.

Differential Revision: https://reviews.llvm.org/D53285

llvm-svn: 347407
2018-11-21 19:37:19 +00:00
..
2011-02-08-RemoveEqual.ll
2013-01-10-MergeFuncAssert.ll
address-spaces.ll
alias.ll [MergeFuncs] Generate alias instead of thunk if possible 2018-11-21 19:37:19 +00:00
alloca.ll
apply_function_attributes.ll
call-and-invoke-with-ranges.ll [IR] Add a dedicated FNeg IR Instruction 2018-11-13 18:15:47 +00:00
constant-entire-value.ll
crash.ll
crash2.ll
external-before-local.ll [MergeFuncs] Improve ordering of equal functions 2018-11-08 03:58:01 +00:00
fold-weak.ll
functions.ll
gep-base-type.ll
inline-asm.ll
inttoptr-address-space.ll
inttoptr.ll
linkonce_odr.ll
merge-block-address-other-function.ll
merge-block-address.ll
merge-const-ptr-and-int.ll
merge-different-vector-types.ll
merge-ptr-and-int.ll
merge-small-unnamed-addr.ll
merge-unnamed-addr-bitcast.ll
merge-unnamed-addr.ll
merge-weak-crash.ll
mergefunc-preserve-debug-info.ll
mergefunc-struct-return.ll
no-merge-block-address-different-labels.ll
no-merge-block-address-other-function.ll
no-merge-ptr-different-sizes.ll
no-merge-ptr-int-different-values.ll
phi-check-blocks.ll
phi-speculation1.ll
phi-speculation2.ll
ptr-int-transitivity-1.ll
ptr-int-transitivity-2.ll
ptr-int-transitivity-3.ll
ranges-multiple.ll
ranges.ll
self-referential-global.ll
too-small.ll
undef-different-types.ll
unnamed-addr-reprocessing.ll [MergeFuncs] Call removeUsers() prior to unnamed_addr RAUW 2018-11-08 03:57:55 +00:00
vector-GEP-crash.ll
vector.ll
vectors-and-arrays.ll
weak-small.ll [MergeFunctions] Fix merging of small weak functions 2018-05-15 11:31:07 +00:00