[PATCH] D127224: [flang][OpenMP] Lowering support for atomic capture

Nimish Mishra via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 8 00:46:07 PDT 2022


NimishMishra updated this revision to Diff 435060.
NimishMishra added a comment.
Herald added subscribers: cfe-commits, llvm-commits, libc-commits, libcxx-commits, openmp-commits, lldb-commits, Sanitizers, jsji, Enna1, kosarev, mravishankar, jsilvanus, mattd, gchakrabarti, hsmhsm, pmatos, asb, pcwang-thead, yota9, ayermolo, awarzynski, arjunp, luke957, asavonic, carlosgalvezp, abrachet, Groverkss, armkevincheng, ormris, foad, jsmolens, eric-k256, mstorsjo, frasercrmck, ecnelises, ThomasRaoux, vkmr, martong, phosek, kerbowa, csigg, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, dmgreen, Jim, jocewei, PkmX, arphaman, the_o, brucehoult, MartinMosbeck, rogfer01, steven_wu, atanasyan, mgrang, edward-jones, zzheng, MaskRay, jrtc27, gbedwell, niosHD, cryptoad, sabuasal, simoncook, johnrusso, rbar, fedor.sergeev, kbarton, aheejin, hiraditya, jgravelle-google, arichardson, sbc100, mgorny, nhaehnle, jvesely, nemanjai, sdardis, dylanmckay, jyknight, dschuff, arsenm, jholewinski.
Herald added a reviewer: bollu.
Herald added a reviewer: andreadb.
Herald added a reviewer: alexander-shaposhnikov.
Herald added a reviewer: rupprecht.
Herald added a reviewer: jhenderson.
Herald added a reviewer: antiagainst.
Herald added a reviewer: nicolasvasilache.
Herald added a reviewer: aartbik.
Herald added a reviewer: ftynse.
Herald added a reviewer: aartbik.
Herald added a reviewer: aartbik.
Herald added a reviewer: sjarus.
Herald added a reviewer: zuban32.
Herald added a reviewer: rafauler.
Herald added a reviewer: Amir.
Herald added a reviewer: maksfb.
Herald added projects: clang, Sanitizers, LLDB, libc++, libc-project, libc++abi, libunwind, LLVM, lld-macho, clang-tools-extra.
Herald added a reviewer: libc++.
Herald added a reviewer: libc++abi.
Herald added a reviewer: libunwind.
Herald added a reviewer: lld-macho.

[flang][OpenMP] Added lowering support for atomic capture


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127224

Files:
  bolt/lib/Rewrite/DWARFRewriter.cpp
  bolt/lib/Rewrite/MachORewriteInstance.cpp
  bolt/lib/Rewrite/RewriteInstance.cpp
  clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
  clang-tools-extra/docs/ReleaseNotes.rst
  clang-tools-extra/pseudo/lib/cxx.bnf
  clang-tools-extra/pseudo/test/cxx/empty-member-spec.cpp
  clang-tools-extra/pseudo/test/cxx/keyword.cpp
  clang-tools-extra/pseudo/test/cxx/parameter-decl-clause.cpp
  clang-tools-extra/pseudo/test/cxx/predefined-identifier.cpp
  clang-tools-extra/pseudo/test/cxx/template-empty-type-parameter.cpp
  clang-tools-extra/pseudo/test/cxx/unsized-array.cpp
  clang-tools-extra/pseudo/test/glr.cpp
  clang-tools-extra/test/clang-tidy/checkers/bugprone-use-after-move.cpp
  clang/docs/ReleaseNotes.rst
  clang/include/clang/Basic/Builtins.def
  clang/include/clang/Basic/LangOptions.def
  clang/include/clang/Driver/Options.td
  clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
  clang/lib/AST/Decl.cpp
  clang/lib/AST/Mangle.cpp
  clang/lib/Basic/Targets/OSTargets.cpp
  clang/lib/CodeGen/CGDecl.cpp
  clang/lib/CodeGen/CodeGenModule.cpp
  clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
  clang/lib/CodeGen/SanitizerMetadata.cpp
  clang/lib/CodeGen/SanitizerMetadata.h
  clang/lib/Driver/ToolChains/Clang.cpp
  clang/lib/Driver/ToolChains/CommonArgs.cpp
  clang/lib/Driver/ToolChains/MinGW.cpp
  clang/lib/Format/UnwrappedLineParser.cpp
  clang/lib/Format/UnwrappedLineParser.h
  clang/lib/Frontend/InitPreprocessor.cpp
  clang/lib/Headers/unwind.h
  clang/lib/Sema/SemaChecking.cpp
  clang/lib/Sema/SemaExpr.cpp
  clang/lib/Sema/SemaExprCXX.cpp
  clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
  clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp
  clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
  clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  clang/test/Analysis/cast-value-notes.cpp
  clang/test/Analysis/cast-value-state-dump.cpp
  clang/test/CXX/class/class.init/class.copy.elision/p3.cpp
  clang/test/CodeGen/builtins-memcpy-inline.c
  clang/test/CodeGenCXX/externc-used-not-replaced.cpp
  clang/test/Driver/cl-zc.cpp
  clang/test/Driver/sanitizer-ld.c
  clang/test/Driver/windows-exceptions.cpp
  clang/test/Modules/Inputs/gmodules-deduction-guide.h
  clang/test/Modules/gmodules-deduction-guide.cpp
  clang/test/Sema/aarch64-sve-vector-arith-ops.c
  clang/test/Sema/aarch64-sve-vector-bitwise-ops.c
  clang/test/Sema/aarch64-sve-vector-compare-ops.c
  clang/test/Sema/builtins-memcpy-inline.cpp
  clang/test/SemaCXX/aarch64-sve-vector-conditional-op.cpp
  clang/test/SemaCXX/cxx2a-consteval.cpp
  clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
  clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
  clang/unittests/Analysis/FlowSensitive/SingleVarConstantPropagationTest.cpp
  clang/www/c_status.html
  compiler-rt/lib/asan/asan_allocator.h
  compiler-rt/lib/asan/asan_errors.cpp
  compiler-rt/lib/builtins/gcc_personality_v0.c
  compiler-rt/lib/builtins/os_version_check.c
  compiler-rt/lib/lsan/lsan_allocator.h
  compiler-rt/lib/orc/c_api.h
  compiler-rt/lib/sanitizer_common/sanitizer_allocator_report.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_common.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_common.h
  compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
  compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_platform.h
  compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
  compiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_internal.h
  compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
  compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
  compiler-rt/test/hwasan/TestCases/sizes.cpp
  compiler-rt/test/msan/Linux/b64.cpp
  compiler-rt/test/msan/Linux/dn_expand.cpp
  compiler-rt/test/msan/Linux/pthread_getaffinity_np.cpp
  compiler-rt/test/sanitizer_common/TestCases/Linux/b64.cpp
  compiler-rt/test/sanitizer_common/TestCases/Linux/dn_expand.cpp
  compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_getaffinity_np.cpp
  compiler-rt/test/sanitizer_common/TestCases/symbolize_stack.cpp
  flang/README.md
  flang/include/flang/Evaluate/tools.h
  flang/include/flang/Lower/AbstractConverter.h
  flang/include/flang/Lower/OpenMP.h
  flang/include/flang/Lower/PFTBuilder.h
  flang/include/flang/Semantics/expression.h
  flang/lib/Lower/Bridge.cpp
  flang/lib/Lower/OpenMP.cpp
  flang/lib/Lower/PFTBuilder.cpp
  flang/lib/Optimizer/CodeGen/CodeGen.cpp
  flang/lib/Semantics/expression.cpp
  flang/test/Fir/convert-to-llvm.fir
  flang/test/Lower/OpenMP/Todo/omp-threadprivate.f90
  flang/test/Lower/OpenMP/atomic-capture.f90
  flang/test/Lower/OpenMP/atomic-update.f90
  flang/test/Lower/OpenMP/flush.f90
  flang/test/Lower/OpenMP/parallel-sections.f90
  flang/test/Lower/OpenMP/parallel.f90
  flang/test/Lower/OpenMP/single.f90
  flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
  flang/test/Lower/OpenMP/threadprivate-commonblock.f90
  flang/test/Lower/OpenMP/threadprivate-integer-different-kinds.f90
  flang/test/Lower/OpenMP/threadprivate-pointer-allocatable.f90
  flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
  flang/test/Lower/OpenMP/threadprivate-use-association.f90
  flang/test/Lower/always-execute-loop-body.f90
  flang/test/Semantics/expr-errors04.f90
  libc/cmake/modules/LLVMLibCLibraryRules.cmake
  libc/cmake/modules/LLVMLibCObjectRules.cmake
  libc/cmake/modules/LLVMLibCTestRules.cmake
  libc/docs/index.rst
  libc/src/__support/threads/linux/thread.h
  libcxx/CMakeLists.txt
  libcxx/cmake/caches/Apple.cmake
  libcxx/cmake/caches/Generic-debug-iterators.cmake
  libcxx/cmake/caches/Generic-debug-mode.cmake
  libcxx/cmake/caches/Generic-no-debug.cmake
  libcxx/docs/DesignDocs/DebugMode.rst
  libcxx/docs/ReleaseNotes.rst
  libcxx/docs/Status/RangesAlgorithms.csv
  libcxx/docs/TestingLibcxx.rst
  libcxx/docs/UsingLibcxx.rst
  libcxx/include/CMakeLists.txt
  libcxx/include/__algorithm/comp_ref_type.h
  libcxx/include/__algorithm/nth_element.h
  libcxx/include/__algorithm/partial_sort.h
  libcxx/include/__algorithm/ranges_find_first_of.h
  libcxx/include/__algorithm/shuffle.h
  libcxx/include/__algorithm/sort.h
  libcxx/include/__algorithm/unwrap_iter.h
  libcxx/include/__assert
  libcxx/include/__availability
  libcxx/include/__charconv/tables.h
  libcxx/include/__charconv/to_chars_base_10.h
  libcxx/include/__config
  libcxx/include/__config_site.in
  libcxx/include/__debug
  libcxx/include/__format/buffer.h
  libcxx/include/__format/format_context.h
  libcxx/include/__format/formatter_floating_point.h
  libcxx/include/__hash_table
  libcxx/include/__iterator/istream_iterator.h
  libcxx/include/__iterator/ostream_iterator.h
  libcxx/include/__iterator/ostreambuf_iterator.h
  libcxx/include/__iterator/wrap_iter.h
  libcxx/include/algorithm
  libcxx/include/charconv
  libcxx/include/list
  libcxx/include/locale
  libcxx/include/module.modulemap
  libcxx/include/span
  libcxx/include/string
  libcxx/include/unordered_map
  libcxx/include/unordered_set
  libcxx/include/valarray
  libcxx/include/vector
  libcxx/lib/abi/CMakeLists.txt
  libcxx/src/CMakeLists.txt
  libcxx/src/include/ryu/digit_table.h
  libcxx/test/CMakeLists.txt
  libcxx/test/libcxx/algorithms/alg.modifying.operations/copy.pass.cpp
  libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/make.heap/complexity.pass.cpp
  libcxx/test/libcxx/algorithms/alg.sorting/alg.heap.operations/sort.heap/complexity.pass.cpp
  libcxx/test/libcxx/algorithms/debug_less.inconsistent.pass.cpp
  libcxx/test/libcxx/algorithms/debug_less.pass.cpp
  libcxx/test/libcxx/algorithms/nth_element_stability.pass.cpp
  libcxx/test/libcxx/algorithms/partial_sort_stability.pass.cpp
  libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
  libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
  libcxx/test/libcxx/algorithms/sort_stability.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.cons/debug.copy.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.emplace.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.erase.iter_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_iter_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_rvalue.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_size_value.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.modifiers/debug.insert.iter_value.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/list/list.ops/debug.splice.pos_list_iter_iter.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.add.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.compare.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.decrement.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.index.pass.cpp
  libcxx/test/libcxx/containers/sequences/vector/debug.iterator.subtract.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.insert.hint_rvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/debug.swap.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/debug.erase.iter_iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.insert.hint_rvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/debug.swap.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/debug.erase.iter_iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.erase.iter_iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.insert.hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.multiset/debug.swap.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.erase.iter_iter.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.insert.hint_const_lvalue.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.dereference.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.increment.pass.cpp
  libcxx/test/libcxx/containers/unord/unord.set/debug.swap.pass.cpp
  libcxx/test/libcxx/containers/views/span.cons/range.pass.cpp
  libcxx/test/libcxx/containers/views/span.cons/range.verify.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/range.pass.cpp
  libcxx/test/libcxx/containers/views/views.span/span.cons/range.verify.cpp
  libcxx/test/libcxx/debug/containers.multithread.pass.cpp
  libcxx/test/libcxx/debug/containers/associative_containers.pass.cpp
  libcxx/test/libcxx/debug/containers/sequence_container_iterators.pass.cpp
  libcxx/test/libcxx/debug/containers/string.pass.cpp
  libcxx/test/libcxx/debug/containers/unord_containers.pass.cpp
  libcxx/test/libcxx/debug/debug.assertions-enabled.compile.pass.cpp
  libcxx/test/libcxx/debug/debug.catch-legacy-macro.verify.cpp
  libcxx/test/libcxx/debug/extern-templates.sh.cpp
  libcxx/test/libcxx/private_headers.verify.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/assert.equal.pass.cpp
  libcxx/test/libcxx/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/assert.equal.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.add.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.compare.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.decrement.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.dereference.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.increment.pass.cpp
  libcxx/test/libcxx/strings/basic.string/string.iterators/debug.iterator.index.pass.cpp
  (541 more files...)



More information about the llvm-commits mailing list