[all-commits] [llvm/llvm-project] ad643d: [Verifier] Remove invalid verifier check

serguei-katkov via All-commits all-commits at lists.llvm.org
Sun Mar 15 22:16:30 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ad643d5e93c368a4fde616d03955c9f7f3eb6768
      https://github.com/llvm/llvm-project/commit/ad643d5e93c368a4fde616d03955c9f7f3eb6768
  Author: Serguei Katkov <serguei.katkov at azul.com>
  Date:   2020-03-16 (Mon, 16 Mar 2020)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/element-wise-atomic-memory-intrinsics.ll

  Log Message:
  -----------
  [Verifier] Remove invalid verifier check

According to LangRef for unordered atomic memory transfer intrinsics
"The first three arguments are the same as they are in the @llvm.memcpy intrinsic, with the added constraint that
 len is required to be a positive integer multiple of the element_size. If len is not a positive integer multiple
 of element_size, then the behaviour of the intrinsic is undefined."

So the len is not multiple of element size is just an undefined behavior and verifier should not complain about that
as undefined behavior is allowed in LLVM IR.

This change removes the verifier check for this condition

Reviewers: reames
Reviewed By: reames
Subscribers: dantrushin, hiraditya, jfb, llvm-commits
Differential Revision: https://reviews.llvm.org/D76116




More information about the All-commits mailing list