Page MenuHomePhabricator

[TailDuplicator] allow for callbr
Changes PlannedPublic

Authored by nickdesaulniers on Dec 4 2020, 5:10 PM.

Details

Reviewers
jyknight
void
Summary

Follow up to https://reviews.llvm.org/D88823; fixes a TODO from the
clang-11 release by leveraging findPHICopyInsertPoint(), which has been
moved to be more accessible outside of llvm/lib/CodeGen/.

Diff Detail

Unit TestsFailed

TimeTest
1,970 msx64 debian > libarcher.races::lock-unrelated.c
Script: -- : 'RUN: at line 13'; /mnt/disks/ssd0/agent/llvm-project/build/./bin/clang -fopenmp -pthread -fno-experimental-isel -g -O1 -fsanitize=thread -I /mnt/disks/ssd0/agent/llvm-project/openmp/tools/archer/tests -I /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/runtime/src -L /mnt/disks/ssd0/agent/llvm-project/build/lib -Wl,-rpath,/mnt/disks/ssd0/agent/llvm-project/build/lib /mnt/disks/ssd0/agent/llvm-project/openmp/tools/archer/tests/races/lock-unrelated.c -o /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/tools/archer/tests/races/Output/lock-unrelated.c.tmp -latomic && env TSAN_OPTIONS='ignore_noninstrumented_modules=0:ignore_noninstrumented_modules=1' /mnt/disks/ssd0/agent/llvm-project/openmp/tools/archer/tests/deflake.bash /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/tools/archer/tests/races/Output/lock-unrelated.c.tmp 2>&1 | tee /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/tools/archer/tests/races/Output/lock-unrelated.c.tmp.log | /mnt/disks/ssd0/agent/llvm-project/build/./bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/openmp/tools/archer/tests/races/lock-unrelated.c

Event Timeline

nickdesaulniers created this revision.Dec 4 2020, 5:10 PM
nickdesaulniers requested review of this revision.Dec 4 2020, 5:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 4 2020, 5:10 PM
nickdesaulniers added inline comments.Dec 4 2020, 5:16 PM
llvm/test/CodeGen/X86/tail-dup-asm-goto.ll
21

hmmm...this doesn't look quite right to me, shouldn't the copy have occurred BEFORE the INLINEASM_BR...?

nickdesaulniers planned changes to this revision.Dec 4 2020, 5:35 PM

I suspect that duplicateInstruction is not updating isInlineAsmBrIndirectTarget correctly when moving the INLINEASM_BR, but will have to verify.