[all-commits] [llvm/llvm-project] c90e09: [SystemZ] Use reserved keywords in vecintrin.h

Ulrich Weigand via All-commits all-commits at lists.llvm.org
Tue Apr 28 09:50:56 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: c90e09b13c9017e79b331e9f86f0f55d7a02777b
      https://github.com/llvm/llvm-project/commit/c90e09b13c9017e79b331e9f86f0f55d7a02777b
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2020-04-28 (Tue, 28 Apr 2020)

  Changed paths:
    M clang/lib/Headers/vecintrin.h

  Log Message:
  -----------
  [SystemZ] Use reserved keywords in vecintrin.h

System headers should avoid using the "vector" and "bool" keywords
since those might be redefined by user code.  For example, using
<stdbool.h> before <vecintrin.h> will currently lead to compiler
errors.

Fixed by using the reserved "__vector" and "__bool" keywords
instead.  NFC otherwise.


  Commit: 095ccf4455654750cd4c0296ff91565c2b613319
      https://github.com/llvm/llvm-project/commit/095ccf4455654750cd4c0296ff91565c2b613319
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2020-04-28 (Tue, 28 Apr 2020)

  Changed paths:
    M clang/lib/Headers/vecintrin.h

  Log Message:
  -----------
  [SystemZ] Avoid __INTPTR_TYPE__ conversions in vecintrin.h

Some intrinsics in vecintrin.h are currently implemented by
performing address arithmetic in __INTPTR_TYPE__ and converting
the result to some pointer type.  While this works correctly,
it leads to suboptimal code generation since many optimizers
cannot trace the provenance of the resulting pointers.

Fixed by using "char *" pointer arithmetic instead.


Compare: https://github.com/llvm/llvm-project/compare/85ee97fd894b...095ccf445565


More information about the All-commits mailing list