[all-commits] [llvm/llvm-project] bee265: [Asan] Skip pre-split coroutine and noop coroutine...

Wei Wang via All-commits all-commits at lists.llvm.org
Mon Jul 22 10:54:01 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bee2654300a8f524e05dd4cad41411d597246ac0
      https://github.com/llvm/llvm-project/commit/bee2654300a8f524e05dd4cad41411d597246ac0
  Author: Wei Wang <apollo.mobility at gmail.com>
  Date:   2024-07-22 (Mon, 22 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/skip-coro.ll

  Log Message:
  -----------
  [Asan] Skip pre-split coroutine and noop coroutine frame (#99415)

CoroSplit expects the second parameter of `llvm.coro.id` to be the
promise alloca. Applying Asan on a pre-split coroutine breaks this
assumption and causes split to fail. This should be NFC because asan
pass happens late in the pipeline where all coroutines are split. This
is to prevent crash in case the order of passes are switched.

Also `NoopCoro.Frame.Const` is a special coroutine frame that does
nothing when resumed or destroyed. There is no point to do
instrumentation on it.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list