[PATCH] D145183: [libc++] Implement `stop_token`

Hui via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon May 22 10:39:15 PDT 2023


huixie90 updated this revision to Diff 524387.
huixie90 added a comment.
Herald added subscribers: cfe-commits, llvm-commits, lldb-commits, Sanitizers, TinaAMD, hoy, bviyer, wlei, jplehr, mgehre-amd, luke, hanchung, jsetoain, Moerafaat, zero9178, pcwang-thead, anlunx, Enna1, bzcheeseman, mattd, gchakrabarti, ThomasRaoux, awarzynski, sdasgup3, wenzhicui, wrengr, snehasish, armkevincheng, ormris, foad, jsmolens, sjarus, eric-k256, cota, mravishankar, teijeong, frasercrmck, rdzhabarov, tatianashp, wenlei, mehdi_amini, okura, jdoerfert, msifontes, sstefan1, jurahul, kuter, Kayjukh, vkmr, grosul1, jvesely, Joonsoo, stephenneuendorffer, kerbowa, liufengdb, aartbik, mgester, arpith-jacob, csigg, nicolasvasilache, antiagainst, shauheen, rriddle, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, asbirlea, kadircet, jocewei, PkmX, arphaman, the_o, brucehoult, MartinMosbeck, rogfer01, steven_wu, mgrang, edward-jones, zzheng, MaskRay, jrtc27, gbedwell, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, fedor.sergeev, hiraditya, nemanjai, arsenm, jholewinski.
Herald added a reviewer: andreadb.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.
Herald added a reviewer: nicolasvasilache.
Herald added a reviewer: herhut.
Herald added a reviewer: rriddle.
Herald added a reviewer: aartbik.
Herald added a reviewer: sscalpone.
Herald added a reviewer: ftynse.
Herald added a reviewer: aartbik.
Herald added a reviewer: clementval.
Herald added a reviewer: ThomasRaoux.
Herald added a reviewer: NoQ.
Herald added a reviewer: dcaballe.
Herald added a reviewer: ftynse.
Herald added a reviewer: dcaballe.
Herald added a reviewer: kiranchandramohan.
Herald added projects: clang, Sanitizers, LLDB, MLIR, LLVM, clang-tools-extra, Flang.

- [libc++] Implement `stop_token`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D145183

Files:
  clang-tools-extra/clangd/refactor/Rename.cpp
  clang-tools-extra/clangd/unittests/RenameTests.cpp
  clang/docs/ControlFlowIntegrity.rst
  clang/docs/LanguageExtensions.rst
  clang/docs/ReleaseNotes.rst
  clang/docs/UndefinedBehaviorSanitizer.rst
  clang/include/clang/AST/ASTContext.h
  clang/include/clang/Basic/RISCVVTypes.def
  clang/include/clang/Basic/riscv_vector.td
  clang/include/clang/Basic/riscv_vector_common.td
  clang/include/clang/Driver/Options.td
  clang/include/clang/Support/RISCVVIntrinsicUtils.h
  clang/lib/AST/ASTContext.cpp
  clang/lib/AST/TextNodeDumper.cpp
  clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
  clang/lib/Analysis/FlowSensitive/Transfer.cpp
  clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
  clang/lib/CodeGen/CGBuiltin.cpp
  clang/lib/CodeGen/CGCall.cpp
  clang/lib/CodeGen/CGExpr.cpp
  clang/lib/CodeGen/CodeGenFunction.cpp
  clang/lib/CodeGen/CodeGenTypes.cpp
  clang/lib/Sema/SemaChecking.cpp
  clang/lib/Sema/SemaInit.cpp
  clang/lib/Sema/SemaRISCVVectorLookup.cpp
  clang/lib/Serialization/ASTReaderStmt.cpp
  clang/lib/Serialization/ASTWriterStmt.cpp
  clang/lib/Support/RISCVVIntrinsicUtils.cpp
  clang/test/AST/ast-dump-decl.cpp
  clang/test/CodeGen/RISCV/rvb-intrinsics/riscv64-zbb.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vget_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32ff_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vset_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei32_tuple.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/rvv-tuple-type.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/vget-index-out-of-range.c
  clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/vset-index-out-of-range.c
  clang/test/CodeGen/assignment-tracking/flag.cpp
  clang/test/CodeGen/ubsan-function.c
  clang/test/PCH/asm-label.cpp
  clang/test/Sema/flexible-array-in-union.c
  clang/test/Sema/riscv-types.c
  clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp
  clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
  clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
  clang/utils/TableGen/RISCVVEmitter.cpp
  compiler-rt/test/ubsan/TestCases/TypeCheck/Function/c.c
  compiler-rt/test/ubsan/TestCases/TypeCheck/Function/function.cpp
  compiler-rt/test/ubsan/TestCases/TypeCheck/Function/lit.local.cfg.py
  flang/docs/Extensions.md
  flang/include/flang/Optimizer/Builder/HLFIRTools.h
  flang/include/flang/Optimizer/Dialect/FIRDialect.h
  flang/include/flang/Optimizer/Dialect/FIRType.h
  flang/include/flang/Optimizer/HLFIR/HLFIROps.td
  flang/lib/Lower/ConvertCall.cpp
  flang/lib/Lower/ConvertConstant.cpp
  flang/lib/Lower/ConvertVariable.cpp
  flang/lib/Lower/OpenACC.cpp
  flang/lib/Optimizer/Builder/HLFIRTools.cpp
  flang/lib/Optimizer/Dialect/FIRDialect.cpp
  flang/lib/Optimizer/Dialect/FIROps.cpp
  flang/lib/Optimizer/Dialect/FIRType.cpp
  flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
  flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
  flang/lib/Optimizer/HLFIR/Transforms/ScheduleOrderedAssignments.cpp
  flang/lib/Parser/prescan.cpp
  flang/test/Fir/omp-declare-target-data.fir
  flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir
  flang/test/HLFIR/order_assignments/where-fusing-scheduling.f90
  flang/test/HLFIR/order_assignments/where-scheduling.f90
  flang/test/Lower/OpenACC/acc-loop.f90
  flang/test/Lower/OpenACC/acc-parallel-loop.f90
  flang/test/Lower/OpenACC/acc-parallel.f90
  flang/test/Lower/OpenACC/acc-serial-loop.f90
  flang/test/Lower/OpenACC/acc-serial.f90
  flang/test/Lower/array.f90
  flang/test/Lower/dense-array-any-rank.f90
  flang/test/Parser/at-process.f
  flang/test/Parser/at-process.f90
  flang/unittests/Optimizer/FIRTypesTest.cpp
  libclc/CMakeLists.txt
  libcxx/docs/Status/Cxx20.rst
  libcxx/docs/Status/Cxx20Issues.csv
  libcxx/docs/Status/Cxx20Papers.csv
  libcxx/include/CMakeLists.txt
  libcxx/include/__stop_token/stop_callback.h
  libcxx/include/__stop_token/stop_source.h
  libcxx/include/__stop_token/stop_state.h
  libcxx/include/__stop_token/stop_token.h
  libcxx/include/module.modulemap.in
  libcxx/include/stop_token
  libcxx/test/libcxx/assertions/headers_declare_verbose_abort.sh.cpp
  libcxx/test/libcxx/clang_tidy.sh.cpp
  libcxx/test/libcxx/double_include.sh.cpp
  libcxx/test/libcxx/min_max_macros.compile.pass.cpp
  libcxx/test/libcxx/modules_include.sh.cpp
  libcxx/test/libcxx/nasty_macros.compile.pass.cpp
  libcxx/test/libcxx/no_assert_include.compile.pass.cpp
  libcxx/test/libcxx/private_headers.verify.cpp
  libcxx/test/libcxx/transitive_includes.sh.cpp
  libcxx/test/libcxx/transitive_includes/cxx03.csv
  libcxx/test/libcxx/transitive_includes/cxx11.csv
  libcxx/test/libcxx/transitive_includes/cxx14.csv
  libcxx/test/libcxx/transitive_includes/cxx17.csv
  libcxx/test/libcxx/transitive_includes/cxx20.csv
  libcxx/test/libcxx/transitive_includes/cxx2b.csv
  libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/nostopstate/cons.default.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.const.token.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopcallback/cons.rvalue.token.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopcallback/copy.move.compile.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopcallback/ctad.compile.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopcallback/dtor.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopcallback/typedef.compile.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/assign.copy.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/cons.copy.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/cons.default.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/cons.move.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/cons.nostopstate.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/equals.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/get_token.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/move.copy.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/nodiscard.verify.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/request_stop.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/stop_possible.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/stop_requested.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/swap.free.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stopsource/swap.member.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.copy.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/assign.move.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.copy.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.default.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/cons.move.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/equals.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/nodiscard.verify.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_possible.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/stop_requested.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.free.pass.cpp
  libcxx/test/std/thread/thread.stoptoken/stoptoken/swap.member.pass.cpp
  libcxx/utils/data/ignore_format.txt
  libcxx/utils/generate_feature_test_macro_components.py
  libcxx/utils/generate_header_inclusion_tests.py
  libcxx/utils/generate_header_tests.py
  lldb/include/lldb/Symbol/SymbolContext.h
  lldb/include/lldb/Target/Language.h
  lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
  lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
  lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h
  lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
  lldb/source/Symbol/SymbolContext.cpp
  lldb/source/Target/StackFrame.cpp
  lldb/test/API/functionalities/bt-interrupt/TestInterruptBacktrace.py
  llvm/CODE_OWNERS.TXT
  llvm/include/llvm/ADT/PostOrderIterator.h
  llvm/include/llvm/Analysis/TargetTransformInfo.h
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/Analysis/ValueTracking.h
  llvm/include/llvm/IR/IntrinsicsAArch64.td
  llvm/include/llvm/MCA/CustomBehaviour.h
  llvm/include/llvm/MCA/InstrBuilder.h
  llvm/include/llvm/Pass.h
  llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
  llvm/include/llvm/Transforms/Utils/SCCPSolver.h
  llvm/lib/Analysis/ScalarEvolution.cpp
  llvm/lib/Analysis/TargetTransformInfo.cpp
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
  llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  llvm/lib/MCA/CustomBehaviour.cpp
  llvm/lib/MCA/InstrBuilder.cpp
  llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
  llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/SMEInstrFormats.td
  llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
  llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
  llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
  llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.h
  llvm/lib/Target/RISCV/RISCVRegisterInfo.td
  llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
  llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86TargetTransformInfo.cpp
  llvm/lib/Target/X86/X86TargetTransformInfo.h
  llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
  llvm/lib/Transforms/IPO/SCCP.cpp
  llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  llvm/lib/Transforms/Scalar/LICM.cpp
  llvm/lib/Transforms/Utils/SCCPSolver.cpp
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/lib/Transforms/Vectorize/VPlan.cpp
  llvm/lib/Transforms/Vectorize/VPlan.h
  llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
  llvm/test/Analysis/ScalarEvolution/pr62380.ll
  llvm/test/CodeGen/AArch64/sve-intrinsics-reinterpret.ll
  llvm/test/CodeGen/AArch64/sve2-intrinsics-psel.ll
  llvm/test/CodeGen/AArch64/sve2p1-intrinsics-loads.ll
  llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx2.ll
  llvm/test/CodeGen/AArch64/sve2p1-intrinsics-selx4.ll
  llvm/test/CodeGen/AArch64/sve2p1-intrinsics-stores.ll
  llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis-heuristics.ll
  llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-break-large-phis.ll
  llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
  llvm/test/CodeGen/AMDGPU/llvm.amdgcn.set.inactive.ll
  llvm/test/CodeGen/PowerPC/vec-zext-abdu.ll
  llvm/test/CodeGen/RISCV/attributes.ll
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load.ll
  llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store.ll
  llvm/test/CodeGen/X86/prefetchi.ll
  llvm/test/Examples/OrcV2Examples/lljit-with-remote-debugging.test
  llvm/test/Examples/OrcV2Examples/lljit-with-thinlto-summaries.test
  llvm/test/Examples/OrcV2Examples/orcv2-cbindings-lazy.test
  llvm/test/ExecutionEngine/JITLink/RISCV/ELF_riscv64_got_plt_reloc.s
  llvm/test/ExecutionEngine/JITLink/x86-64/MachO-duplicate-local.test
  llvm/test/ExecutionEngine/JITLink/x86-64/MachO_ehframe_bad_fde_cie-ptr_out-of-range.test
  llvm/test/ExecutionEngine/JITLink/x86-64/MachO_ehframe_bad_fde_pc-begin_out-of-range.test
  llvm/test/ExecutionEngine/lit.local.cfg
  llvm/test/MC/RISCV/attribute-arch.s
  llvm/test/MC/RISCV/rv32zfbfmin-valid.s
  llvm/test/MC/RISCV/rvv/zvfbfmin.s
  llvm/test/MC/RISCV/rvv/zvfbfwma.s
  llvm/test/Other/new-pm-defaults.ll
  llvm/test/Other/new-pm-lto-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
  llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
  llvm/test/Transforms/Attributor/nofpclass.ll
  llvm/test/Transforms/FunctionSpecialization/function-specialization-always-inline.ll
  llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-integers.ll
  llvm/test/Transforms/FunctionSpecialization/function-specialization-loop.ll
  llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
  llvm/test/Transforms/FunctionSpecialization/function-specialization3.ll
  llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
  llvm/test/Transforms/InstSimplify/floating-point-compare.ll
  llvm/test/Transforms/InstSimplify/known-never-infinity.ll
  llvm/test/Transforms/InstSimplify/strictfp-sqrt-nonneg.ll
  llvm/test/Transforms/LICM/hoist-add-sub.ll
  llvm/test/Transforms/SLPVectorizer/RISCV/getpointerschaincost.ll
  llvm/test/Transforms/SLPVectorizer/RISCV/struct-gep.ll
  (131 more files...)



More information about the cfe-commits mailing list