forked from OSchip/llvm-project
48596b6f7a
This patch optimizes two memory intrinsic operations: memset and memcpy based on the profiled size of the operation. The high level transformation is like: mem_op(..., size) ==> switch (size) { case s1: mem_op(..., s1); goto merge_bb; case s2: mem_op(..., s2); goto merge_bb; ... default: mem_op(..., size); goto merge_bb; } merge_bb: Differential Revision: http://reviews.llvm.org/D28966 llvm-svn: 299446 |
||
---|---|---|
.. | ||
Inputs | ||
X86 | ||
PR28219.ll | ||
branch1.ll | ||
branch2.ll | ||
comdat_internal.ll | ||
comdat_rename.ll | ||
criticaledge.ll | ||
diag_FE_profile.ll | ||
diag_mismatch.ll | ||
diag_no_funcprofdata.ll | ||
diag_no_profile.ll | ||
do-not-instrument.ll | ||
icp_covariant_call_return.ll | ||
icp_covariant_invoke_return.ll | ||
icp_invoke.ll | ||
icp_mismatch_msg.ll | ||
icp_vararg.ll | ||
indirect_call_annotation.ll | ||
indirect_call_profile.ll | ||
indirect_call_promotion.ll | ||
landingpad.ll | ||
loop1.ll | ||
loop2.ll | ||
memcpy.ll | ||
memop_size_annotation.ll | ||
memop_size_opt.ll | ||
multiple_hash_profile.ll | ||
noreturncall.ll | ||
preinline.ll | ||
select1.ll | ||
select2.ll | ||
single_bb.ll | ||
statics_counter_naming.ll | ||
switch.ll | ||
thinlto_indirect_call_promotion.ll | ||
thinlto_samplepgo_icp.ll | ||
unreachable_bb.ll |