Page MenuHomePhabricator

[OPENMP]Fix PR49777: Clang should not try to specialize orphaned directives in device codegen.

Authored by ABataev on Apr 1 2021, 12:47 PM.



Compiler supports generic code emission, but in some cases may
erroneously consider the function context as SPMD context or Non-SPMD
parallel context. Need to clear/restore context upon entrance/exit
to/from function to avoid incorrect codegen.

Diff Detail

Unit TestsFailed

590 msx64 windows > lld.MachO::reproduce.s
Script: -- : 'RUN: at line 3'; rm -rf C:\ws\w32-1\llvm-project\premerge-checks\build\tools\lld\test\MachO\Output\reproduce.s.tmp.dir

Event Timeline

ABataev created this revision.Apr 1 2021, 12:47 PM
ABataev requested review of this revision.Apr 1 2021, 12:47 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 1 2021, 12:47 PM
Herald added a subscriber: sstefan1. · View Herald Transcript

The bug has been fixed by D95976 already, I'll update the bug report now.
Also, the tracking of Generic/SPMD mode in clang is about to be finally removed, new code depending on that is short-lived.

ABataev abandoned this revision.Apr 28 2021, 4:44 AM