diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-03-19 08:53:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2015-03-19 08:53:38 +0100 |
commit | bfd714822b2c97dfcc970c722f430ca995eebafc (patch) | |
tree | d66c13575e21970d004baf7ab6afa1494b91bd8b /gcc/recog.c | |
parent | 995332cad37e5724a88a9a3cdfb3008248d5257e (diff) | |
download | gcc-bfd714822b2c97dfcc970c722f430ca995eebafc.zip gcc-bfd714822b2c97dfcc970c722f430ca995eebafc.tar.gz gcc-bfd714822b2c97dfcc970c722f430ca995eebafc.tar.bz2 |
re PR sanitizer/65400 (tsan mis-compiles inlineable C functions)
PR sanitizer/65400
* ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
call in the return bb.
(find_split_points): Add RETURN_BB argument, don't call
find_return_bb.
(split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
if true append TSAN_FUNC_EXIT internal call after the call to
the split off function.
(execute_split_functions): Call find_return_bb here.
Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
Adjust find_split_points and split_function calls.
* c-c++-common/tsan/pr65400-1.c: New test.
* c-c++-common/tsan/pr65400-2.c: New test.
From-SVN: r221508
Diffstat (limited to 'gcc/recog.c')
0 files changed, 0 insertions, 0 deletions