summaryrefslogtreecommitdiffstats
path: root/libclc/generic/include/clc/integer/popcount.h
diff options
context:
space:
mode:
authorVlad Tsyrklevich <vlad@tsyrklevich.net>2018-03-08 18:48:03 +0000
committerVlad Tsyrklevich <vlad@tsyrklevich.net>2018-03-08 18:48:03 +0000
commit7b66ef10364d20acfa83934e04a04b2f799a0396 (patch)
tree6ef5beba6fca6d412c9abcfbf21323ab95f61ca3 /libclc/generic/include/clc/integer/popcount.h
parentd5e5992f9a2ef811536d42571de7d312774ad928 (diff)
downloadbcm5719-llvm-7b66ef10364d20acfa83934e04a04b2f799a0396.tar.gz
bcm5719-llvm-7b66ef10364d20acfa83934e04a04b2f799a0396.zip
[ThinLTO] Keep available_externally symbols live
Summary: This change fixes PR36483. The bug was originally introduced by a change that marked non-prevailing symbols dead. This broke LowerTypeTests handling of available_externally functions, which are non-prevailing. LowerTypeTests uses liveness information to avoid emitting thunks for unused functions. Marking available_externally functions dead is incorrect, the functions are used though the function definitions are not. This change keeps them live, and lets the EliminateAvailableExternally/GlobalDCE passes remove them later instead. I've also enabled EliminateAvailableExternally for all optimization levels, I believe it being disabled for O1 was an oversight. Reviewers: pcc, tejohnson Reviewed By: tejohnson Subscribers: grimar, mehdi_amini, inglorion, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D43690 llvm-svn: 327041
Diffstat (limited to 'libclc/generic/include/clc/integer/popcount.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud