SuccessChanges

Summary

  1. [Annotation] Allows annotation to carry some additional constant arguments. (details)
  2. [flang] Tighten rules to resolve procedure as intrinsic procedure (details)
  3. Try to fix buildbots after d3205bbca3e0002d76282878986993e7e7994779 (details)
  4. [lldb] [Process/FreeBSDRemote] Fix #include for i386 compat (details)
  5. [lldb] [test/Register] Use initial state for write tests (details)
  6. [lldb] [Process/NetBSD] Set xs_xstate_bv correctly when setting regs (details)
  7. [lldb] [Process/Linux] Reuse NativeRegisterContextWatchpoint_x86 (details)
  8. [lldb] Fix bitfield "frame var" for pointers (pr47743) (details)
  9. [lldb] Modernize PseudoTerminal::Fork (details)
  10. [NFC][InstrRefLDV] Fix a typo (details)
  11. [llvm-mca] Add few memory instructions to cortex-a57 test (details)
  12. tsan: add mips64 support in lib/tsan/go/buildgo.sh (details)
  13. [InstCombine] Add rotate tests where the shift amount is zero extended after masking (details)
  14. [InstCombine] Add support for zext(and(neg(amt),width-1)) rotate shift amount patterns (details)
Commit d3205bbca3e0002d76282878986993e7e7994779 by tyker
[Annotation] Allows annotation to carry some additional constant arguments.

This allows using annotation in a much more contexts than it currently has.
especially when annotation with template or constexpr.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D88645
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedllvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
The file was modifiedclang/test/CodeGen/annotations-var.c
The file was modifiedclang/test/Sema/annotate.c
The file was modifiedllvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedclang/test/Parser/access-spec-attrs.cpp
The file was modifiedclang/test/CodeGen/annotations-loc.c
The file was modifiedclang/test/AST/ast-dump-attr.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/free-intrinsics.ll
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/Sema/pragma-attribute.c
The file was modifiedclang/test/Parser/objc-implementation-attrs.m
The file was modifiedclang/test/Misc/pragma-attribute-objc.m
The file was addedclang/test/CodeGenCXX/attr-annotate.cpp
The file was modifiedclang/test/Misc/pragma-attribute-cxx.cpp
The file was addedclang/test/SemaCXX/attr-annotate.cpp
The file was modifiedllvm/test/Transforms/InstCombine/assume_inevitable.ll
The file was modifiedclang/test/CodeGen/annotations-global.c
The file was addedclang/test/CodeGenCXX/attr-annotate2.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CodeGen/annotations-field.c
The file was modifiedllvm/test/CodeGen/Generic/ptr-annotate.ll
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
Commit 878b526409acb04b11f0a6b83c561bfee3521e57 by jperier
[flang] Tighten rules to resolve procedure as intrinsic procedure

2 Bug fixes:

- Do not resolve procedure as intrinsic if they appeared in an
  EXTERNAL attribute statement (one path was not considering this flag)

- Emit an error if a procedure resolved to be an intrinsic function
  (resp. subroutine) is used as a subroutine (resp. function).
  Lowering was attempted while the evaluate::Expression for the
  call was missing without any errors.

1 behavior change:

- Do not implicitly resolve subroutines (resp. functions) as intrinsics
  because their name is the name of an intrinsic function (resp.
  subroutine). Add justification in documentation.

Reviewed By: klausler, tskeith

Differential Revision: https://reviews.llvm.org/D90049
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was addedflang/test/Semantics/call16.f90
The file was addedflang/test/Semantics/symbol19.f90
The file was modifiedflang/docs/Intrinsics.md
The file was modifiedflang/include/flang/Evaluate/intrinsics.h
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
Commit 4afa077899b1e3def4cff475deae73681db04e21 by tyker
Try to fix buildbots after d3205bbca3e0002d76282878986993e7e7994779
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-op-intrinsics.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
Commit 7acf2e2e1e8f7e2eac2dd5bbf7d752ba7ad4e79c by mgorny
[lldb] [Process/FreeBSDRemote] Fix #include for i386 compat

Include <x86/fpu.h> rather than <machine/fpu.h>, as the latter is not
present on i386.

Differential Revision: https://reviews.llvm.org/D90128
The file was modifiedlldb/source/Plugins/Process/FreeBSDRemote/NativeRegisterContextFreeBSD_x86_64.cpp
Commit 37d4d3bb4daf409102237132ae8e1db250da83be by mgorny
[lldb] [test/Register] Use initial state for write tests

Reset registers to their 'initial' state instead of a semi-random
pattern in write tests.  While the latter might have been helpful
while debugging failures (i.e. to distinguish unmodified registers
from mistakenly written zeroes), the former makes it possible to test
whether xstate_bv field is written correctly when using XSAVE.

With this change, the four relevant tests start failing on NetBSD
without D90105.

Differential Revision: https://reviews.llvm.org/D90114
The file was modifiedlldb/test/Shell/Register/Inputs/x86-64-write.cpp
The file was modifiedlldb/test/Shell/Register/Inputs/x86-zmm-write.cpp
The file was modifiedlldb/test/Shell/Register/Inputs/x86-ymm-write.cpp
The file was modifiedlldb/test/Shell/Register/Inputs/x86-mm-xmm-write.cpp
Commit a8902376651a7adbacd0c1934d9f70bdb9fad7f0 by mgorny
[lldb] [Process/NetBSD] Set xs_xstate_bv correctly when setting regs

Ensure that xs_xstate_bv is set correctly before calling
WriteRegisterSet().  The bit can be clear if the relevant registers
were at their initial state when they were read, and it needs to be set
in order to apply changes from the XState structure.

Differential Revision: https://reviews.llvm.org/D90105
The file was modifiedlldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
Commit f5ca27569eacc398f0e4fc63a9b55cafac398c04 by mgorny
[lldb] [Process/Linux] Reuse NativeRegisterContextWatchpoint_x86

Differential Revision: https://reviews.llvm.org/D90119
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_ppc64le.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp
Commit 97ca9ca180f0810adcc1637d1a6dd32a04f63cfe by pavel
[lldb] Fix bitfield "frame var" for pointers (pr47743)

Displaying large packed bitfields did not work if one was accessing them
through a pointer, and he used the "->" notation ("[0]." notation is
fine). The reason for that is that implicit dereference in -> is plumbed
all the way down to ValueObjectChild::UpdateValue, where the process of
fetching the child value was forked for this flag. The bitfield
"sliding" code was implemented only for the branch which did not require
dereferencing.

This patch restructures the function to avoid this mistake. Processing
now happens in two stages.
- first the parent is dereferenced (if needed)
- then the child value is computed (this step includes sliding and is
  common for both branches)

Differential Revision: https://reviews.llvm.org/D89236
The file was modifiedlldb/source/Core/ValueObjectChild.cpp
The file was modifiedlldb/test/API/lang/c/bitfields/TestBitfields.py
The file was modifiedlldb/test/API/lang/c/bitfields/main.c
Commit e4cc6e9bcdff5fe979ab72025cb803d723cd9c31 by pavel
[lldb] Modernize PseudoTerminal::Fork
The file was modifiedlldb/include/lldb/Host/PseudoTerminal.h
The file was modifiedlldb/source/Host/common/PseudoTerminal.cpp
The file was modifiedlldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
Commit a64b2c93662d8c9bbe49561980ed6c78892491d3 by djtodoro
[NFC][InstrRefLDV] Fix a typo
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit 1876d06ea31f38411012841971a3ff69b4a864d4 by eleviant
[llvm-mca] Add few memory instructions to cortex-a57 test
The file was modifiedllvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
Commit 5cad535ccfebf9b41a57cf2788d8de7a765f7f35 by dvyukov
tsan: add mips64 support in lib/tsan/go/buildgo.sh

Enable mips64 support in buildgo.sh.

Author: mzh (Meng Zhuo)
Reviewed-in: https://reviews.llvm.org/D90130
The file was modifiedcompiler-rt/lib/tsan/go/buildgo.sh
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
Commit 821f3b763ae506b329144550028a4fd0cba0a361 by llvm-dev
[InstCombine] Add rotate tests where the shift amount is zero extended after masking
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
Commit 6b2eb31e1e2db1f3ca7a5c4914ab08cb18698de7 by llvm-dev
[InstCombine] Add support for zext(and(neg(amt),width-1)) rotate shift amount patterns

Alive2: https://alive2.llvm.org/ce/z/bCvvHd
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll