SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Fix a typo. (details)
  2. Updated the OCaml/bitwriter.ml test for OCaml 4.06+ (details)
  3. Revert 651f07908a1 "[AArch64] Don't combine callee-save and local stack (details)
  4. [clang][modules] Add support for merging lifetime-extended temporaries (details)
  5. Revert "[clang][modules] Add support for merging lifetime-extended (details)
  6. [InstCombine] More usub_sat tests. NFC. (details)
  7. [InstCombine] Adjust usub_sat fold one use checks (details)
  8. [InstCombine] Expand usub_sat patterns to handle constants (details)
  9. [X86] Add floating point execution domain to (details)
  10. [Format] Add format check for coroutine keywords with negative numbers (details)
Commit cee62e6fcff6e833bedca1554f6df8f8234e9b13 by hans
Fix a typo.
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit b094258661e0064133679b8b51e981eefda07ec7 by gribozavr
Updated the OCaml/bitwriter.ml test for OCaml 4.06+
Since OCaml 4.02 (released in 2014), strings and bytes are different
types, but up until OCaml 4.06, the compiler defaulted to a
compatibility mode "unsafe-string". OCaml 4.06 flips the default to
"safe-string", breaking the test.
This change should be compatible with OCaml 4.02+, but is only truly
necessary for OCaml 4.06+.
For more information, see:
https://caml.inria.fr/pub/docs/manual-ocaml/libref/String.html
https://ocaml.org/releases/4.02.html
The file was modifiedllvm/test/Bindings/OCaml/bitwriter.ml
Commit c2443155a0fb245c8f17f2c1c72b6ea391e86e81 by hans
Revert 651f07908a1 "[AArch64] Don't combine callee-save and local stack
adjustment when optimizing for size"
This caused asserts (and perhaps also miscompiles) while building for
Windows on AArch64. See the discussion on D68530 for details and
reproducer.
Reverting until this can be investigated and fixed.
> For arm64, D18619 introduced the ability to combine bumping the stack
pointer
> upfront in case it needs to be bumped for both the callee-save area as
well as
> the local stack area.
>
> That diff already remarks that "This change can cause an increase in
> instructions", but argues that even when that happens, it should be
still be a
> performance benefit because the number of micro-ops is reduced.
>
> We have observed that this code-size increase can be significant in
practice.
> This diff disables combining stack bumping for methods that are marked
as
> optimize-for-size.
>
> Example of a prologue with the behavior before this diff (combining
stack bumping when possible):
>   sub        sp, sp, #0x40
>   stp        d9, d8, [sp, #0x10]
>   stp        x20, x19, [sp, #0x20]
>   stp        x29, x30, [sp, #0x30]
>   add        x29, sp, #0x30
>   [... compute x8 somehow ...]
>   stp        x0, x8, [sp]
>
> And after this  diff, if the method is marked as optimize-for-size:
>   stp        d9, d8, [sp, #-0x30]!
>   stp        x20, x19, [sp, #0x10]
>   stp        x29, x30, [sp, #0x20]
>   add        x29, sp, #0x20
>   [... compute x8 somehow ...]
>   stp        x0, x8, [sp, #-0x10]!
>
> Note that without combining the stack bump there are two
auto-decrements,
> nicely folded into the stp instructions, whereas otherwise there is a
single
> sub sp, ... instruction, but not folded.
>
> Patch by Nikolai Tillmann!
>
> Differential Revision: https://reviews.llvm.org/D68530
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was removedllvm/test/CodeGen/AArch64/arm64-never-combine-csr-local-stack-bump-for-size.ll
Commit 3c7f6b439699a9cbbc0ac8d288cc70aff357446b by tyker
[clang][modules] Add support for merging lifetime-extended temporaries
Summary: Add support for merging lifetime-extended temporaries
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: xbolva00, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70190
The file was modifiedclang/include/clang/Serialization/ASTReader.h
The file was addedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/c.h
The file was addedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/b.h
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was addedclang/test/Modules/merge-lifetime-extended-temporary.cpp
The file was addedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/a.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was addedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/module.modulemap
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
Commit 3f4b70c79e686117c2754d2c0a5a44c8b6829e79 by tyker
Revert "[clang][modules] Add support for merging lifetime-extended
temporaries"
This reverts commit 3c7f6b439699a9cbbc0ac8d288cc70aff357446b.
The file was modifiedclang/lib/AST/TextNodeDumper.cpp
The file was removedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/module.modulemap
The file was modifiedclang/include/clang/Serialization/ASTReader.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was removedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/b.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was removedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/c.h
The file was modifiedclang/include/clang/AST/TextNodeDumper.h
The file was removedclang/test/Modules/Inputs/merge-lifetime-extended-temporary/a.h
The file was removedclang/test/Modules/merge-lifetime-extended-temporary.cpp
Commit a46b959ebd605e9dc4bc0e041dac3bdf2f3d8989 by david.green
[InstCombine] More usub_sat tests. NFC.
The file was modifiedllvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
Commit 3a1bef5616c3eb466b5f8a076385ee09e5a9ad9a by david.green
[InstCombine] Adjust usub_sat fold one use checks
This adjusts the one use checks in the the usub_sat fold code to not
increase instruction count, but otherwise do the fold. Reviewed as a
part of D69514.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
Commit 59b56e5c579c51e1333b4c6e96d127f50f191c14 by david.green
[InstCombine] Expand usub_sat patterns to handle constants
The constants come through as add %x, -C, not a sub as would be
expected. They need some extra matchers to canonicalise them towards
usub_sat.
Differential Revision: https://reviews.llvm.org/D69514
The file was modifiedllvm/test/Transforms/InstCombine/builtin-dynamic-object-size.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/unsigned_saturated_sub.ll
Commit 40dfc6dff10bd8881c6df31884e2184bbaab5698 by craig.topper
[X86] Add floating point execution domain to
comi/ucomi/cvtss2si/cvtsd2si/cvttss2si/cvttsd2si/cvtsi2ss/cvtsi2sd
instructions.
The file was modifiedllvm/test/CodeGen/X86/vec_int_to_fp.ll
The file was modifiedllvm/test/CodeGen/X86/sqrt-partial.ll
The file was modifiedllvm/test/CodeGen/X86/lzcnt-zext-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/undef-label.ll
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/test/CodeGen/X86/ftrunc.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-cvt.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/pr42905.ll
The file was modifiedllvm/test/CodeGen/X86/vec_fp_to_int.ll
Commit 8682d29a28772bab0283a141b8701bfaea8881a6 by modocache
[Format] Add format check for coroutine keywords with negative numbers
Summary: As a followup to D69144, this diff fixes the coroutine keyword
spacing for co_yield / co_returning negative numbers.
Reviewers: modocache, sammccall, Quuxplusone
Reviewed By: modocache
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69180
Patch by Jonathan Thomas (jonathoma)!
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp