[all-commits] [llvm/llvm-project] 63ca93: [OpenMP][OMPIRBuilder] Rename IsEmbedded and IsTar...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Mon Jul 10 06:15:05 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 63ca93c7d1d1ee91281ff7ccdbd7014151319324
      https://github.com/llvm/llvm-project/commit/63ca93c7d1d1ee91281ff7ccdbd7014151319324
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2023-07-10 (Mon, 10 Jul 2023)

  Changed paths:
    M clang/docs/OffloadingDesign.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
    M clang/test/CodeGen/ibm128-unsupported.c
    M clang/test/Driver/openmp-offload-gpu.c
    M clang/test/Driver/openmp-offload.c
    M clang/test/Headers/__clang_hip_libdevice_declares.cpp
    M clang/test/Headers/amdgcn-openmp-device-math-complex.c
    M clang/test/Headers/amdgcn-openmp-device-math-complex.cpp
    M clang/test/Headers/amdgcn_openmp_device_math.c
    M clang/test/Headers/amdgcn_openmp_device_math_c.c
    M clang/test/Headers/amdgcn_openmp_device_math_constexpr.cpp
    M clang/test/Headers/nvptx_device_cmath_functions.c
    M clang/test/Headers/nvptx_device_cmath_functions.cpp
    M clang/test/Headers/nvptx_device_cmath_functions_cxx17.cpp
    M clang/test/Headers/nvptx_device_math_complex.c
    M clang/test/Headers/nvptx_device_math_complex.cpp
    M clang/test/Headers/nvptx_device_math_functions.c
    M clang/test/Headers/nvptx_device_math_functions.cpp
    M clang/test/Headers/nvptx_device_math_functions_cxx17.cpp
    M clang/test/Headers/nvptx_device_math_macro.cpp
    M clang/test/Headers/nvptx_device_math_modf.cpp
    M clang/test/Headers/nvptx_device_math_sin.c
    M clang/test/Headers/nvptx_device_math_sin.cpp
    M clang/test/Headers/nvptx_device_math_sin_cos.cpp
    M clang/test/Headers/nvptx_device_math_sincos.cpp
    M clang/test/Headers/openmp-device-functions-bool.c
    M clang/test/Headers/openmp_device_math_isnan.cpp
    M clang/test/Headers/openmp_new_nothrow.cpp
    M clang/test/Headers/target_include_new.cpp
    M clang/test/OpenMP/amdgcn-attributes.cpp
    M clang/test/OpenMP/amdgcn_device_function_call.cpp
    M clang/test/OpenMP/amdgcn_ldbl_check.cpp
    M clang/test/OpenMP/amdgcn_target_codegen.cpp
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M clang/test/OpenMP/amdgcn_target_init_temp_alloca.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/assumes_include_nvptx.cpp
    M clang/test/OpenMP/aux-triple-macros.cpp
    M clang/test/OpenMP/declare_target_codegen.cpp
    M clang/test/OpenMP/declare_target_codegen_globalization.cpp
    M clang/test/OpenMP/declare_target_constexpr_codegen.cpp
    M clang/test/OpenMP/declare_target_link_codegen.cpp
    M clang/test/OpenMP/declare_target_messages.cpp
    M clang/test/OpenMP/declare_target_only_one_side_compilation.cpp
    M clang/test/OpenMP/declare_variant_device_kind_codegen.cpp
    M clang/test/OpenMP/declare_variant_mixed_codegen.c
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
    M clang/test/OpenMP/multiple_regions_per_line.cpp
    M clang/test/OpenMP/nvptx_NRVO_variable.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_allocate_codegen.cpp
    M clang/test/OpenMP/nvptx_allocate_messages.cpp
    M clang/test/OpenMP/nvptx_asm_delayed_diags.c
    M clang/test/OpenMP/nvptx_data_sharing.cpp
    M clang/test/OpenMP/nvptx_declare_target_var_ctor_dtor_codegen.cpp
    M clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
    M clang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
    M clang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_lambda_capturing.cpp
    M clang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_nested_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_param_translate.c
    M clang/test/OpenMP/nvptx_prohibit_thread_local.cpp
    M clang/test/OpenMP/nvptx_target_codegen.cpp
    M clang/test/OpenMP/nvptx_target_cuda_mode_messages.cpp
    M clang/test/OpenMP/nvptx_target_exceptions_messages.cpp
    M clang/test/OpenMP/nvptx_target_firstprivate_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp
    M clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
    M clang/test/OpenMP/nvptx_target_printf_codegen.c
    M clang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
    M clang/test/OpenMP/nvptx_target_requires_unified_shared_memory.cpp
    M clang/test/OpenMP/nvptx_target_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_teams_codegen.cpp
    M clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
    M clang/test/OpenMP/nvptx_unsupported_type_codegen.cpp
    M clang/test/OpenMP/nvptx_unsupported_type_messages.cpp
    M clang/test/OpenMP/nvptx_va_arg_delayed_diags.c
    M clang/test/OpenMP/openmp-read-only-feature.c
    M clang/test/OpenMP/openmp_offload_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/remarks_parallel_in_multiple_target_state_machines.c
    M clang/test/OpenMP/remarks_parallel_in_target_state_machine.c
    M clang/test/OpenMP/requires_codegen.cpp
    M clang/test/OpenMP/target_attribute_convergent.cpp
    M clang/test/OpenMP/target_codegen.cpp
    M clang/test/OpenMP/target_codegen_ref_assertion_vh.cpp
    M clang/test/OpenMP/target_codegen_registration.cpp
    M clang/test/OpenMP/target_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_depend_codegen.cpp
    M clang/test/OpenMP/target_enter_data_codegen.cpp
    M clang/test/OpenMP/target_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_globals_codegen.cpp
    M clang/test/OpenMP/target_messages.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_parallel_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_parallel_for_debug_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_parallel_for_simd_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_parallel_if_codegen.cpp
    M clang/test/OpenMP/target_parallel_no_exceptions.cpp
    M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
    M clang/test/OpenMP/target_private_codegen.cpp
    M clang/test/OpenMP/target_reduction_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen.cpp
    M clang/test/OpenMP/target_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_simd_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_team_variable_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_teams_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration_naming.cpp
    M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_map_codegen.cpp
    M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
    M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
    M clang/test/OpenMP/target_update_codegen.cpp
    M clang/test/OpenMP/target_visibility.cpp
    M clang/test/OpenMP/target_vla_messages.cpp
    M clang/test/OpenMP/teams_codegen.cpp
    M clang/test/Sema/aarch64-sve-alias-attribute.c
    M clang/test/Sema/check-aux-builtins.c
    M flang/include/flang/Frontend/LangOptions.def
    M flang/include/flang/Tools/CrossToolHelpers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Driver/driver-help.f90
    M flang/test/Driver/omp-driver-offload.f90
    M flang/test/Fir/omp-declare-target-data.fir
    M flang/test/Lower/OpenMP/omp-declare-target-data.f90
    M flang/test/Lower/OpenMP/omp-host-ir-flag.f90
    M flang/test/Lower/OpenMP/omp-is-device.f90
    M flang/test/Lower/OpenMP/rtl-flags.f90
    M flang/tools/bbc/bbc.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-region-parallel-llvm.mlir

  Log Message:
  -----------
  [OpenMP][OMPIRBuilder] Rename IsEmbedded and IsTargetCodegen flags

This patch renames the `OpenMPIRBuilderConfig` flags to reduce confusion over
their meaning. `IsTargetCodegen` becomes `IsGPU`, whereas `IsEmbedded` becomes
`IsTargetDevice`. The `-fopenmp-is-device` compiler option is also renamed to
`-fopenmp-is-target-device` and the `omp.is_device` MLIR attribute is renamed
to `omp.is_target_device`. Getters and setters of all these renamed properties
are also updated accordingly. Many unit tests have been updated to use the new
names, but an alias for the `-fopenmp-is-device` option is created so that
external programs do not stop working after the name change.

`IsGPU` is set when the target triple is AMDGCN or NVIDIA PTX, and it is only
valid if `IsTargetDevice` is specified as well. `IsTargetDevice` is set by the
`-fopenmp-is-target-device` compiler frontend option, which is only added to
the OpenMP device invocation for offloading-enabled programs.

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




More information about the All-commits mailing list