[PATCH] D102107: [OpenMP] Codegen aggregate for outlined function captures

Dhruva Chakrabarti via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 23 18:09:32 PDT 2022


dhruvachak added a comment.

In D102107#3812946 <https://reviews.llvm.org/D102107#3812946>, @jdoerfert wrote:

> In D102107#3812582 <https://reviews.llvm.org/D102107#3812582>, @dhruvachak wrote:
>
>> In D102107#3812554 <https://reviews.llvm.org/D102107#3812554>, @dhruvachak wrote:
>>
>>> Updated llvm tests. The following 3 tests still fail:
>>>
>>>   LLVM :: Transforms/OpenMP/spmdization_constant_prop.ll
>>>   LLVM :: Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
>>>   LLVM :: Transforms/OpenMP/spmdization_remarks.ll
>>
>> @jdoerfert @jhuber6 
>> I updated the LLVM tests except one, Transforms/OpenMP/spmdization_constant_prop.ll. There is no C source snippet in there. Can you help as to how to update it? Please review the diffs for all the updated LLVM tests as well.
>>
>> In addition, the other 2 tests above fail even after updating. Looks like something is wrong. Can you help as to how to fix them?
>>
>> Similar to clang tests, we are seeing remarks differences. We already decided to file an issue (after this patch lands) and look at them after-the-fact.
>
> Did you recreate the tests from the C snipped? That is probably not a good idea. We should modify the IR. If we start with C code we can't do it like this anyway. I mean:
>
> - the IR is totally different,
> - the debug info is missing,
> - lots of unrelated metadata,
> - part of the device runtime was merged in,
> - ...

Yes, for the ones that have the C snippet, I re-created from that. Since the IR is quite different now, I thought this was the best way and less error-prone while generating the new IR.

Can you help update these tests by getting the patch locally?

These have the C snippet.

LLVM :: Transforms/OpenMP/custom_state_machines.ll
LLVM :: Transforms/OpenMP/custom_state_machines_remarks.ll
LLVM :: Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll
LLVM :: Transforms/OpenMP/spmdization.ll
LLVM :: Transforms/OpenMP/spmdization_assumes.ll
LLVM :: Transforms/OpenMP/spmdization_guarding.ll
LLVM :: Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
LLVM :: Transforms/OpenMP/spmdization_remarks.ll

I think the following are updated correctly and pass.

LLVM :: Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
LLVM :: Transforms/OpenMP/is_spmd_exec_mode_fold.ll
LLVM :: Transforms/OpenMP/parallel_level_fold.ll

I was not able to update the following, so it fails.

LLVM :: Transforms/OpenMP/spmdization_constant_prop.ll


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102107/new/

https://reviews.llvm.org/D102107



More information about the cfe-commits mailing list