[all-commits] [llvm/llvm-project] 472c79: [IR] Check that arguments of naked function are no...

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Aug 20 00:29:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 472c79ca52806856c0dc7548a6f82d3bd9e7530c
      https://github.com/llvm/llvm-project/commit/472c79ca52806856c0dc7548a6f82d3bd9e7530c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    A llvm/test/Verifier/naked.ll

  Log Message:
  -----------
  [IR] Check that arguments of naked function are not used (#104757)

Verify that the arguments of a naked function are not used. They can
only be referenced via registers/stack in inline asm, not as IR values.
Doing so will result in assertion failures in the backend.

There's probably more that we should verify, though I'm not completely
sure what the constraints are (would it be correct to require that naked
functions are exactly an inline asm call + unreachable, or is more
allowed?)

Fixes https://github.com/llvm/llvm-project/issues/104718.



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