Page MenuHomePhabricator

peixin (Peixin Qiao)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 12 2021, 6:52 PM (64 w, 11 h)

Recent Activity

Yesterday

peixin updated the diff for D127215: [flang][OpenMP] Support common block in OpenMP private clause.

Rebase

Mon, Oct 3, 12:29 AM · Restricted Project, Restricted Project
peixin committed rGc4f04a126aa2: [flang] Make real type of kind 10 target dependent (authored by peixin).
[flang] Make real type of kind 10 target dependent
Mon, Oct 3, 12:26 AM · Restricted Project, Restricted Project

Sun, Oct 2

peixin added a reverting change for rGd11e406e369f: [flang] Make real type of kind 10 target dependent: rG3f0ad8558aa5: Revert "[flang] Make real type of kind 10 target dependent".
Sun, Oct 2, 2:46 AM · Restricted Project, Restricted Project
peixin committed rG3f0ad8558aa5: Revert "[flang] Make real type of kind 10 target dependent" (authored by peixin).
Revert "[flang] Make real type of kind 10 target dependent"
Sun, Oct 2, 2:45 AM · Restricted Project, Restricted Project
peixin added a reverting change for D134021: [flang] Make real type of kind 10 target dependent: rG3f0ad8558aa5: Revert "[flang] Make real type of kind 10 target dependent".
Sun, Oct 2, 2:45 AM · Restricted Project, Restricted Project

Sat, Oct 1

peixin planned changes to D127215: [flang][OpenMP] Support common block in OpenMP private clause.

Need rebase

Sat, Oct 1, 7:47 PM · Restricted Project, Restricted Project
peixin committed rG4e43a14bdbe1: [flang][OpenMP] Fix resolve common block in data-sharing clauses (authored by peixin).
[flang][OpenMP] Fix resolve common block in data-sharing clauses
Sat, Oct 1, 7:41 PM · Restricted Project, Restricted Project
peixin closed D127214: [flang][OpenMP] Fix resolve common block in data-sharing clauses.
Sat, Oct 1, 7:41 PM · Restricted Project, Restricted Project
peixin committed rGd11e406e369f: [flang] Make real type of kind 10 target dependent (authored by peixin).
[flang] Make real type of kind 10 target dependent
Sat, Oct 1, 7:31 PM · Restricted Project, Restricted Project
peixin closed D134021: [flang] Make real type of kind 10 target dependent.
Sat, Oct 1, 7:31 PM · Restricted Project, Restricted Project

Thu, Sep 29

peixin added a comment to D134821: [flang][driver] Allow main program to be in an archive.

Please fix the clang-format issue.

Thu, Sep 29, 7:58 PM · Restricted Project, Restricted Project, Restricted Project
peixin requested changes to D127272: [flang][OpenMP] Lowering support for atomic capture.
Thu, Sep 29, 6:31 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
peixin added a comment to D127272: [flang][OpenMP] Lowering support for atomic capture.

The following test case fails.

program main
  implicit none
  integer, parameter :: n1 = 10
  integer, parameter :: n2 = 100
  integer, parameter :: n = 30
  integer :: idx(n2)
  integer :: i
  integer(1) :: xi1(n1), yi1(n1), zi1(n1), oi1(n1), pi1(n1), qi1(n1), expecti1(n1)
  integer(8) :: xi8(n1), yi8(n1), zi8(n1), oi8(n1), pi8(n1), qi8(n1), expecti8(n1)
  logical :: rst(n) = .false.
Thu, Sep 29, 6:31 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Wed, Sep 28

peixin updated the diff for D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

Fix clang-format issue.

Wed, Sep 28, 8:28 PM · Restricted Project, Restricted Project
peixin updated the diff for D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

Add <cstdint> to fix CI fail.

Wed, Sep 28, 8:25 AM · Restricted Project, Restricted Project
peixin added a comment to D128596: [flang][OpenMP] Support privatization for single construct.

I think, in general, LLVM recommends for performance reasons to put allocas in the entry block. See https://llvm.org/docs/Frontend/PerformanceTips.html#use-of-allocas.

Yes, there will be some over-allocation. But also note that if we did not hoist and there was a loop outside the single construct then this will lead to run-away allocations without a stacksave and stackrestore.

The case of a loop is a little more complicated, since we need to place the allocas for loops in the header of the loop which is not available in the loop form, it is only available when we break the loop into control-flow form. So it is not possible to do it in the high-level MLIR.

These issues will probably be resolved when we move privatisation clauses to the OpenMP dialect and handle it in the OpenMPIRBuilder.

The alloca ops can be hoisted outside the single region, but the store op for firstprivate clause should be in single region.

Yes, this is important. Otherwise, any updates to the value will not be available. I don't remember whether we fixed the issue or whether it is still present. It was captured in https://github.com/flang-compiler/f18-llvm-project/issues/1171#issuecomment-1119997442

Wed, Sep 28, 8:06 AM · Restricted Project, Restricted Project, Restricted Project
peixin updated the diff for D128596: [flang][OpenMP] Support privatization for single construct.
Wed, Sep 28, 8:01 AM · Restricted Project, Restricted Project, Restricted Project
peixin updated the diff for D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

Implemented in runtime.

Wed, Sep 28, 2:01 AM · Restricted Project, Restricted Project

Tue, Sep 27

peixin added a comment to D128596: [flang][OpenMP] Support privatization for single construct.

Why wouldn't getAllocaBlock work by itself? From our understanding of Clang it is not required for the private allocas to be inside the runtime calls, so getAllocaBlock will hoist it to the nearest region that will be outlined. Isn't that sufficient?

firOpBuilder.getAllocaBlock() is to call getEntryBlock() if it is not OutlineableOpenMPOpInterface, which is to call getFunction().front(). For the following case, it will hoist the private/firstprivate operations outside the parallel region, which is wrong.

subroutine single_private(x, y)
  real :: x
  real(8) :: y

  !$omp parallel
  !$omp single private(x) firstprivate(y)
  call bar(x, y)
  !$omp end single
  !$omp end parallel
end subroutine single_private

The code (as given below) tries to get a parent of type OutlineableOpenMPOpInterface which the parallel operation has. If this is not happening then there is a bug.

/// Get the block for adding Allocas.
mlir::Block *fir::FirOpBuilder::getAllocaBlock() {
  auto iface =
      getRegion().getParentOfType<mlir::omp::OutlineableOpenMPOpInterface>();
  return iface ? iface.getAllocaBlock() : getEntryBlock();
}
Tue, Sep 27, 5:35 AM · Restricted Project, Restricted Project, Restricted Project
peixin added a comment to D128596: [flang][OpenMP] Support privatization for single construct.

Why wouldn't getAllocaBlock work by itself? From our understanding of Clang it is not required for the private allocas to be inside the runtime calls, so getAllocaBlock will hoist it to the nearest region that will be outlined. Isn't that sufficient?

Tue, Sep 27, 4:41 AM · Restricted Project, Restricted Project, Restricted Project
peixin added a comment to D128596: [flang][OpenMP] Support privatization for single construct.

Clang emits the private/firstprivate in CodeGen (https://github.com/llvm/llvm-project/blob/2188cf9fa4d012b3ce484f9e97b66581569c1157/clang/lib/CodeGen/CGStmtOpenMP.cpp#L4196-L4197) before and after single runtime calls.

Is it OK to not add the Interface to the Single operation in this case? And keep the interface for operations that are outlined only and reinstating its original name OutlineableOpenMPOpInterface.

Tue, Sep 27, 4:12 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Sep 26

peixin added inline comments to D134021: [flang] Make real type of kind 10 target dependent.
Mon, Sep 26, 7:18 AM · Restricted Project, Restricted Project
peixin added a comment to D128596: [flang][OpenMP] Support privatization for single construct.

Thanks @kiranchandramohan for pointing out the problem.

Mon, Sep 26, 5:56 AM · Restricted Project, Restricted Project, Restricted Project
peixin updated the diff for D128596: [flang][OpenMP] Support privatization for single construct.
Mon, Sep 26, 5:49 AM · Restricted Project, Restricted Project, Restricted Project

Sat, Sep 24

peixin added a comment to D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

I am not suggesting that you simply establish some aliases.

IARGC and GETARG can be written in Fortran or C with code that calls the standard intrinsic procedures. Why not do that instead of creating new extension intrinsics?

Sat, Sep 24, 7:12 PM · Restricted Project, Restricted Project
peixin added a comment to D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

Why do these need to be intrinsic procedures, and not just entry points in a standard library?

Sat, Sep 24, 2:35 AM · Restricted Project, Restricted Project
peixin updated the diff for D127214: [flang][OpenMP] Fix resolve common block in data-sharing clauses.

Rebase and add the test case as suggested.

Sat, Sep 24, 2:31 AM · Restricted Project, Restricted Project
peixin updated the diff for D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.
Sat, Sep 24, 2:30 AM · Restricted Project, Restricted Project

Fri, Sep 23

peixin abandoned D125632: [flang] Move TODO for elemental call with parentheses on argument.
Fri, Sep 23, 7:47 PM · Restricted Project, Restricted Project
peixin added a comment to D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

Why do these need to be intrinsic procedures, and not just entry points in a standard library?

Fri, Sep 23, 6:44 PM · Restricted Project, Restricted Project
peixin added inline comments to D134285: [flang][RFC] Adding higher level FIR ops to ease expression lowering.
Fri, Sep 23, 2:32 AM · Restricted Project, Restricted Project

Thu, Sep 22

peixin added a comment to D134021: [flang] Make real type of kind 10 target dependent.

ping

Thu, Sep 22, 11:35 PM · Restricted Project, Restricted Project
peixin added a comment to D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

ping @klausler

Thu, Sep 22, 11:34 PM · Restricted Project, Restricted Project
peixin accepted D129616: Lower F08 bitwise-reduction intrinsics (IALL, IANY, IPARITY).

LGTM

Thu, Sep 22, 5:01 AM · Restricted Project, Restricted Project
peixin added inline comments to D134285: [flang][RFC] Adding higher level FIR ops to ease expression lowering.
Thu, Sep 22, 4:26 AM · Restricted Project, Restricted Project
peixin added inline comments to D134285: [flang][RFC] Adding higher level FIR ops to ease expression lowering.
Thu, Sep 22, 4:23 AM · Restricted Project, Restricted Project

Wed, Sep 21

peixin added a comment to D134285: [flang][RFC] Adding higher level FIR ops to ease expression lowering.

Thanks for addressing the comments and explanations. LGTM.

Wed, Sep 21, 8:05 PM · Restricted Project, Restricted Project
peixin added a comment to D134364: [flang][RFC] Proposal for complex number lowering through MLIR.

Can you consider more cases such as follows:

subroutine sub
  complex :: a, b, c
  c = conj(a) * b
end

and -a * b and -conj(a) * b.

Wed, Sep 21, 7:46 PM · Restricted Project, Restricted Project
peixin added a comment to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.

LGTM. Tested on one little-endian machine with our internal tests (I attached them in the issue https://github.com/llvm/llvm-project/issues/55961) for the priority of -fconvert= option and CONVERT argument in open statement and all passed. I didn't see the the GFORTRAN_CONVERT_UNIT used in HPC workloads and don't have tests for it. For now, I would avoid full combination tests for it.

Wed, Sep 21, 2:36 AM · Restricted Project, Restricted Project, Restricted Project
peixin added a comment to D134285: [flang][RFC] Adding higher level FIR ops to ease expression lowering.

Very good design. This seems to be one promising method to handle some bugs in forall, pattern match for inline intrinsics and OpenMP reduction (not totally sure if it will work), and expected to have more information of variables and expression for performance optimization in FIR.

Wed, Sep 21, 2:19 AM · Restricted Project, Restricted Project

Tue, Sep 20

peixin added a comment to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.

The build still fails.

I think it might be an infrastructure issue or something like that--I've tried restarting it a few times and each time it just ends with "HTTP 28" as the only message I see. Another review that was created a bit ago (https://reviews.llvm.org/D134329) seems to have the same issue, so I'll try restarting it again in a while.

Tue, Sep 20, 6:16 PM · Restricted Project, Restricted Project, Restricted Project
peixin added a comment to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.

The build still fails.

Tue, Sep 20, 6:04 PM · Restricted Project, Restricted Project, Restricted Project
peixin added inline comments to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.
Tue, Sep 20, 5:47 AM · Restricted Project, Restricted Project, Restricted Project
peixin added inline comments to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.
Tue, Sep 20, 12:24 AM · Restricted Project, Restricted Project, Restricted Project
peixin added a reviewer for D130513: [Flang] Add -fconvert option to swap endianness for unformatted files: jeanPerier.
Tue, Sep 20, 12:19 AM · Restricted Project, Restricted Project, Restricted Project
peixin edited reviewers for D130513: [Flang] Add -fconvert option to swap endianness for unformatted files, added: kiranchandramohan, clementval; removed: schweitz, jdoerfert.
Tue, Sep 20, 12:18 AM · Restricted Project, Restricted Project, Restricted Project

Mon, Sep 19

peixin accepted D133237: [flang] Give explicit convert= specifiers precedence over FORT_CONVERT.
Mon, Sep 19, 6:05 PM · Restricted Project, Restricted Project
peixin updated the diff for D134021: [flang] Make real type of kind 10 target dependent.

Reimplement this as @clementval suggested.

Mon, Sep 19, 6:03 AM · Restricted Project, Restricted Project
peixin added inline comments to D129616: Lower F08 bitwise-reduction intrinsics (IALL, IANY, IPARITY).
Mon, Sep 19, 1:49 AM · Restricted Project, Restricted Project
peixin added inline comments to D128596: [flang][OpenMP] Support privatization for single construct.
Mon, Sep 19, 1:49 AM · Restricted Project, Restricted Project, Restricted Project

Sun, Sep 18

peixin planned changes to D134021: [flang] Make real type of kind 10 target dependent.

Add "-triple aarch64-unknown-linux-gnu" to fix the CI fail. Do not know why the test case is still checked on Debian X86 even with ! REQUIRES: aarch64-registered-target.

! REQUIRES: <target> refers to the targets enabled when building LLVM rather than to the host machine on which the compiler is built. In the case of pre-commit CI, all available targets are enabled (i.e. the default value for LLVM_TARGETS_TO_BUILD is used):

-- Targeting AArch64
-- Targeting AMDGPU
-- Targeting ARM
-- Targeting AVR
-- Targeting BPF
-- Targeting Hexagon
-- Targeting Lanai
-- Targeting Mips
-- Targeting MSP430
-- Targeting NVPTX
-- Targeting PowerPC
-- Targeting RISCV
-- Targeting Sparc
-- Targeting SystemZ
-- Targeting VE
-- Targeting WebAssembly
-- Targeting X86
-- Targeting XCore
Sun, Sep 18, 11:57 PM · Restricted Project, Restricted Project

Fri, Sep 16

peixin added inline comments to D133686: [flang][OpenMP] Handle lastprivate on sections construct.
Fri, Sep 16, 11:23 PM · Restricted Project, Restricted Project, Restricted Project
peixin updated the diff for D134021: [flang] Make real type of kind 10 target dependent.

Add "-triple aarch64-unknown-linux-gnu" to fix the CI fail. Do not know why the test case is still checked even with ! REQUIRES: aarch64-registered-target.

Fri, Sep 16, 11:12 PM · Restricted Project, Restricted Project
peixin updated the diff for D128596: [flang][OpenMP] Support privatization for single construct.

Rebase and address the data race problem for single construct.

Fri, Sep 16, 8:41 PM · Restricted Project, Restricted Project, Restricted Project
peixin added inline comments to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.
Fri, Sep 16, 6:53 PM · Restricted Project, Restricted Project, Restricted Project
peixin added a comment to D129616: Lower F08 bitwise-reduction intrinsics (IALL, IANY, IPARITY).

No test cases?

Fri, Sep 16, 2:39 AM · Restricted Project, Restricted Project
peixin requested review of D134021: [flang] Make real type of kind 10 target dependent.
Fri, Sep 16, 12:42 AM · Restricted Project, Restricted Project
peixin accepted D133918: [flang][OpenMP] Lower OpenMP `taskgroup` construct.

LGTM since this patch is doing the lowering part as the title and summary mentioned.

Fri, Sep 16, 12:01 AM · Restricted Project, Restricted Project

Thu, Sep 15

peixin added inline comments to D133918: [flang][OpenMP] Lower OpenMP `taskgroup` construct.
Thu, Sep 15, 6:28 PM · Restricted Project, Restricted Project

Tue, Sep 13

peixin added a comment to D128596: [flang][OpenMP] Support privatization for single construct.

@domada I will update this patch later this week.

Tue, Sep 13, 4:24 AM · Restricted Project, Restricted Project, Restricted Project

Sat, Sep 10

peixin added a comment to D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

@klausler, has more experience in this area than anyone I know. It would be good to get his approval before submitting.

Sat, Sep 10, 12:33 AM · Restricted Project, Restricted Project

Fri, Sep 9

peixin added a comment to D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.

I think we need any entry for these two non-standard intrinsics in flang/docs/Extensions.md.

What is the current stand about extensions? Should we have RFC before introducing them?

Fri, Sep 9, 2:20 AM · Restricted Project, Restricted Project
peixin updated the diff for D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.
Fri, Sep 9, 2:16 AM · Restricted Project, Restricted Project
peixin requested review of D133558: [flang] Support GNU extensions IARGC and GETARG in runtime.
Fri, Sep 9, 1:21 AM · Restricted Project, Restricted Project

Tue, Sep 6

peixin accepted D133347: [flang] Accept assumed shape arrays as SHAPE in C_F_POINTER.

Thanks. LGTM.

Tue, Sep 6, 4:38 AM · Restricted Project, Restricted Project

Mon, Sep 5

peixin committed rG109f9a291850: [flang] Support lowering of intrinsic module procedure C_F_POINTER (authored by peixin).
[flang] Support lowering of intrinsic module procedure C_F_POINTER
Mon, Sep 5, 5:16 PM · Restricted Project, Restricted Project
peixin closed D132303: [flang] Support lowering of intrinsic module procedure C_F_POINTER.
Mon, Sep 5, 5:16 PM · Restricted Project, Restricted Project
peixin updated the diff for D132303: [flang] Support lowering of intrinsic module procedure C_F_POINTER.

Thanks @jeanPerier for the info. Move it into the Optimizer/Builder/FIRBuilder as suggested.

Mon, Sep 5, 7:16 AM · Restricted Project, Restricted Project

Sep 3 2022

peixin added inline comments to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.
Sep 3 2022, 7:20 AM · Restricted Project, Restricted Project, Restricted Project

Sep 2 2022

peixin added a comment to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.

Mostly LGTM. Have several more comments.

Sep 2 2022, 9:16 AM · Restricted Project, Restricted Project, Restricted Project
peixin updated the diff for D132303: [flang] Support lowering of intrinsic module procedure C_F_POINTER.

Reimplement this according to @jeanPerier 's suggestions.

Sep 2 2022, 3:03 AM · Restricted Project, Restricted Project

Aug 31 2022

peixin committed rGddc939fe15e4: [flang] Support lowering of intrinsic module procedure C_FUNLOC (authored by peixin).
[flang] Support lowering of intrinsic module procedure C_FUNLOC
Aug 31 2022, 8:39 AM · Restricted Project, Restricted Project
peixin closed D132273: [flang] Support lowering of intrinsic module procedure C_FUNLOC.
Aug 31 2022, 8:38 AM · Restricted Project, Restricted Project

Aug 30 2022

peixin added a comment to D132273: [flang] Support lowering of intrinsic module procedure C_FUNLOC.

ping

Aug 30 2022, 7:02 AM · Restricted Project, Restricted Project
peixin added a comment to D132303: [flang] Support lowering of intrinsic module procedure C_F_POINTER.

ping

Aug 30 2022, 7:02 AM · Restricted Project, Restricted Project

Aug 29 2022

peixin committed rG8f119da586d3: [flang][OpenMP] Support lowering of threadprivate directive for non global… (authored by peixin).
[flang][OpenMP] Support lowering of threadprivate directive for non global…
Aug 29 2022, 7:35 AM · Restricted Project, Restricted Project
peixin closed D127047: [flang][OpenMP] Support lowering of threadprivate directive for non global variables.
Aug 29 2022, 7:34 AM · Restricted Project, Restricted Project
peixin committed rG4943dbdf67ba: [flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute (authored by peixin).
[flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute
Aug 29 2022, 7:31 AM · Restricted Project, Restricted Project
peixin closed D131583: [flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute.
Aug 29 2022, 7:31 AM · Restricted Project, Restricted Project

Aug 27 2022

peixin added inline comments to D131583: [flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute.
Aug 27 2022, 11:59 PM · Restricted Project, Restricted Project
peixin updated the diff for D131583: [flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute.

Address the comments.

Aug 27 2022, 11:58 PM · Restricted Project, Restricted Project

Aug 26 2022

peixin added a comment to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.
$ cat fconvert_option_main_2.f90 
!
! Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
! See https://llvm.org/LICENSE.txt for license information.
! SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
!
! checking for I/O: testing read with -fconvert=big-endian.
! The convert argument of open function has prior claim over fconvert option.
! Only main program intentionally compiled with -fconvert=big-endian.
Aug 26 2022, 8:24 PM · Restricted Project, Restricted Project, Restricted Project
peixin accepted D131463: [flang][OpenMP] Handle private/firstprivate clauses on sections construct.

LGTM. The CI failed. Please make sure the CI passed before landing.

Aug 26 2022, 8:02 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 25 2022

peixin updated the diff for D131583: [flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute.
  1. Support the callee side.
Aug 25 2022, 7:44 AM · Restricted Project, Restricted Project

Aug 24 2022

peixin added a comment to D130513: [Flang] Add -fconvert option to swap endianness for unformatted files.

This needs rebase. I failed to apply this patch due to conflict.

Aug 24 2022, 6:19 PM · Restricted Project, Restricted Project, Restricted Project

Aug 23 2022

peixin added a comment to D131583: [flang] Support lowering of C_PTR and C_FUNPTR argument with VALUE attribute.

Thanks for looking into this. So, on aarch64, a struct containing an intptr is not passed as a void* ?

Basically, if in C, typedef struct {intptr_t ptr;} builtin_cptr; is guaranteed to be passed the same way as a void*, then I do not think something special is needed here. But I am not sure this is guaranteed by C, although this may hold true on the targets of interests for flang. Otherwise, your patch makes some sense to me, but I am wondering if we should not lower the builtinCPtr type to "fir.llvm_ptr<none>" instead of special casing the function interface (I have not tested this, and you might hit a few issues if you go that way, like passing C_PTR by reference. I am not sure fir.ref<fir.llvm_ptr<none>> is a legal type).

Aug 23 2022, 4:36 AM · Restricted Project, Restricted Project

Aug 22 2022

peixin added a comment to D131814: [Flang] Enable lowering of CONVERT specifier in OPEN statements.

@jeanPerier @clementval Can this be merged now? This will help test -fconvert= option in https://reviews.llvm.org/D130513.

Aug 22 2022, 6:52 PM · Restricted Project, Restricted Project
peixin added a reviewer for D131814: [Flang] Enable lowering of CONVERT specifier in OPEN statements: clementval.
Aug 22 2022, 6:41 PM · Restricted Project, Restricted Project
peixin updated the diff for D127047: [flang][OpenMP] Support lowering of threadprivate directive for non global variables.

rebase

Aug 22 2022, 8:59 AM · Restricted Project, Restricted Project
peixin updated the diff for D127047: [flang][OpenMP] Support lowering of threadprivate directive for non global variables.

Fix the typo and reuse the function in ConvertVariable.cpp.

Aug 22 2022, 8:46 AM · Restricted Project, Restricted Project
peixin added inline comments to D127047: [flang][OpenMP] Support lowering of threadprivate directive for non global variables.
Aug 22 2022, 4:50 AM · Restricted Project, Restricted Project
peixin added inline comments to D127047: [flang][OpenMP] Support lowering of threadprivate directive for non global variables.
Aug 22 2022, 4:43 AM · Restricted Project, Restricted Project
peixin accepted D132350: [flang] Add bind(C) to buitlin C_PTR.

LGTM. Checked ifort 2021 iso_c_binding.f90 and it has BIND(C) for both C_PTR and C_FUNPTR.

Aug 22 2022, 12:52 AM · Restricted Project, Restricted Project

Aug 21 2022

peixin added inline comments to D131463: [flang][OpenMP] Handle private/firstprivate clauses on sections construct.
Aug 21 2022, 6:21 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Aug 20 2022

peixin added a comment to D132303: [flang] Support lowering of intrinsic module procedure C_F_POINTER.

Evaluated the end-to-end execution result using the following example.

$ cat main.f90 
program main
  use iso_c_binding
  real, pointer :: cptr, cptr2(:,:)
  real, pointer :: fptr, fptr2(:,:)
  integer :: x = 3, y = 4
  type(c_ptr) :: foo
Aug 20 2022, 8:58 AM · Restricted Project, Restricted Project
peixin requested review of D132303: [flang] Support lowering of intrinsic module procedure C_F_POINTER.
Aug 20 2022, 8:56 AM · Restricted Project, Restricted Project
peixin committed rG6d1a685172f2: [flang] Add semantic checks for interoperability of derived type (C1806) (authored by peixin).
[flang] Add semantic checks for interoperability of derived type (C1806)
Aug 20 2022, 8:38 AM · Restricted Project, Restricted Project
peixin closed D131585: [flang] Add semantic checks for interoperability of derived type (C1806).
Aug 20 2022, 8:38 AM · Restricted Project, Restricted Project
peixin committed rGaa4146031132: [flang][OpenMP] Handle the data race for firstprivate and lastprivate (authored by peixin).
[flang][OpenMP] Handle the data race for firstprivate and lastprivate
Aug 20 2022, 8:32 AM · Restricted Project, Restricted Project
peixin closed D131832: [flang][OpenMP] Handle the data race for firstprivate and lastprivate.
Aug 20 2022, 8:32 AM · Restricted Project, Restricted Project