[all-commits] [llvm/llvm-project] 79c727: [clang] Fix signedness in vector bitcast evaluation

Sven van Haastregt via All-commits all-commits at lists.llvm.org
Wed Jan 27 01:30:55 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 79c727328b908051616ed39ceae137b5f1d064cd
      https://github.com/llvm/llvm-project/commit/79c727328b908051616ed39ceae137b5f1d064cd
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2021-01-27 (Wed, 27 Jan 2021)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CodeGenOpenCL/vector_literals.cl

  Log Message:
  -----------
  [clang] Fix signedness in vector bitcast evaluation

The included test case triggered a sign assertion on the result in
`Success()`.  This was caused by the APSInt created for a bitcast
having its signedness bit inverted.  The second APSInt constructor
argument is `isUnsigned`, so invert the result of
`isSignedIntegerType`.

Relanding this patch after reverting.  The test case had to be updated
to be insensitive to 32/64-bit extractelement indices.

Differential Revision: https://reviews.llvm.org/D95135




More information about the All-commits mailing list