[flang] Add TargetRewrite pass
authorDiana Picus <diana.picus@linaro.org>
Fri, 29 Oct 2021 07:11:12 +0000 (07:11 +0000)
committerDiana Picus <diana.picus@linaro.org>
Tue, 9 Nov 2021 07:57:31 +0000 (07:57 +0000)
commit4c263ede5471a7fe3b06e8208b3f1aba1b9dcef2
tree8ab9327e2ce3c22195e7317dc16e21aadfeb40db
parenteaa8533b338dc7fc70695fb873002b091326fd5f
[flang] Add TargetRewrite pass

This patch adds the basic infrastructure for the TargetRewrite pass,
which rewrites certain FIR dialect operations into target specific
forms. In particular, it converts boxchar function parameters, call
arguments and return values. Other convertions will be included in
future patches.

This patch is part of the effort for upstreaming the fir-dev branch.

Differential Revision: https://reviews.llvm.org/D112910

Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Kiran Chandramohan <kiran.chandramohan@arm.com>
Co-authored-by: Tim Keith <tkeith@nvidia.com>
flang/include/flang/Optimizer/CodeGen/CGPasses.td
flang/include/flang/Optimizer/CodeGen/CodeGen.h
flang/lib/Optimizer/CodeGen/CMakeLists.txt
flang/lib/Optimizer/CodeGen/Target.cpp [new file with mode: 0644]
flang/lib/Optimizer/CodeGen/Target.h [new file with mode: 0644]
flang/lib/Optimizer/CodeGen/TargetRewrite.cpp [new file with mode: 0644]
flang/test/Fir/target-rewrite-triple.fir [new file with mode: 0644]
flang/test/Fir/target.fir [new file with mode: 0644]