Page MenuHomePhabricator

[CodeGen] Postprocess PHI nodes for callbr
Needs ReviewPublic

Authored by void on Oct 5 2020, 2:37 AM.

Details

Summary

When processing PHI nodes after a callbr, we need to make sure that the
PHI nodes on the default branch are resolved after the callbr (inserted
after INLINEASM_BR). The PHI node values on the indirect branches are
processed before the INLINEASM_BR.

Diff Detail

Unit TestsFailed

TimeTest
1,170 mslinux > libarcher.parallel::parallel-nosuppression.c
Script: -- : 'RUN: at line 15'; /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/parallel/parallel-nosuppression.c -o /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/tools/archer/tests/parallel/Output/parallel-nosuppression.c.tmp -latomic && env TSAN_OPTIONS='ignore_noninstrumented_modules=0' /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/tools/archer/tests/parallel/Output/parallel-nosuppression.c.tmp 2>&1 | tee /mnt/disks/ssd0/agent/llvm-project/build/projects/openmp/tools/archer/tests/parallel/Output/parallel-nosuppression.c.tmp.log | /mnt/disks/ssd0/agent/llvm-project/build/./bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/openmp/tools/archer/tests/parallel/parallel-nosuppression.c

Event Timeline

void created this revision.Oct 5 2020, 2:37 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 5 2020, 2:37 AM
void requested review of this revision.Oct 5 2020, 2:37 AM
void updated this revision to Diff 296257.Oct 5 2020, 12:31 PM

Add testcase.

void updated this revision to Diff 296259.Oct 5 2020, 12:36 PM

Update with missing elements so that it works.

void added a comment.Oct 5 2020, 12:37 PM

@jyknight This doesn't have the loop refactored like you asked for. I'll work on that today.

test case looks reasonable (I haven't run it pre-patch to see what goes wrong yet). Just curious, is this CL related to D88823?

void added a comment.Oct 5 2020, 1:24 PM

test case looks reasonable (I haven't run it pre-patch to see what goes wrong yet). Just curious, is this CL related to D88823?

No. I thought so, but they're different issues.