FailedChanges

Summary

  1. [lit] Remove unnecessary tracking of test_index
  2. [lit] Only send back test result from worker process Avoid sending back the whole run.Test object (which needs to be pickled) from the worker process when we are only interested in the test result.
  3. [Codegen] Link MIRParser into CodeGenTests to fix MachineSizeOptsTest building
  4. [NFC][CVP] Add @llvm.*.sat tests where we could prove both no-overflows
  5. [Format] Add format check for throwing negative numbers Summary: The code `throw -1;` is currently formatted by clang-format as `throw - 1;`. This diff adds a fix for this edge case and a test to check for this in the future. For context, I am looking into a related bug in the clang-formatting of coroutine keywords: `co_yield -1;` is also reformatted in this manner as `co_yield - 1;`. A later diff will add these changes and tests for the `co_yield` and `co_return` keywords. Patch by Jonathan Thomas (jonathoma)! Reviewers: modocache, sammccall, Quuxplusone Reviewed By: sammccall Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D69144
  6. [DOCS]Update list of implemented constructs, NFC.
  7. gn build: Merge r375254
  8. [OPENMP50]Add support for master taskloop simd. Added trsing/semantics/codegen for combined construct master taskloop simd.
  9. [PGO][PGSO] SizeOpts changes. Summary: (Split of off D67120) SizeOpts/MachineSizeOpts changes for profile guided size optimization. Reviewers: davidxl Subscribers: mgorny, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69070
  10. [X86] combineX86ShufflesRecursively - pull out isTargetShuffleVariableMask. NFCI.
  11. [IR] Reimplement FPMathOperator::classof as a whitelist. Summary: This makes it much easier to verify that the implementation matches the documentation. It uncovered a bug in the unit tests where we were accidentally setting fast math flags on a load instruction. Reviewers: spatel, wristow, arsenm, hfinkel, aemerson, efriedma, cameron.mcinally, mcberg2017, jmolloy Subscribers: wdng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69176
  12. Update docs for fast-math flags. This adds fneg, phi and select to the list of operations that may use fast-math flags.
  13. [clang-format] fix regression recognizing casts in Obj-C calls Summary: r373922 added checks for a few tokens that, following an `)` make it unlikely that the `)` is the closing paren of a cast expression. The specific check for `tok::l_square` there introduced a regression for casts of Obj-C calls, like: ``` (cast)[func arg] ``` From the tests added in r373922, I believe the `tok::l_square` case is added to capture the case where a non-cast `)` is directly followed by an attribute specifier, like: ``` int f(int x) [[noreturn]]; ``` I've specialized the code to look for such attribute specifier instead of `tok::l_square` in general. Also, I added a regression test and moved the test cases added in r373922 to an already existing place documenting other instances of historically misidentified casts. Reviewers: MyDeveloperDay Reviewed By: MyDeveloperDay Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69164
  14. [tooling] Relax an assert when multiple GPU targets are specified.
  15. Update MinidumpYAML to use minidump::Exception for exception stream Reviewers: labath, jhenderson, clayborg, MaskRay, grimar Reviewed By: grimar Subscribers: lldb-commits, grimar, MaskRay, hiraditya, llvm-commits Tags: #llvm, #lldb Differential Revision: https://reviews.llvm.org/D68657
  16. [AMDGPU][MC][GFX10] Added sdwa/dpp versions of v_cndmask_b32 See https://bugs.llvm.org/show_bug.cgi?id=43608 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D69096
  17. [DFAPacketizer] Fix large compile-time regression for VLIW targets D68992 / rL375086 refactored the packetizer and removed a bunch of logic. Unfortunately it creates an Automaton object whenever a DFAPacketizer is required. These objects have no longevity, and in particular on a debug build the population of the Automaton's transition map from the underlying table is very slow (because it is called ~10 times per MachineFunction, in the testcase I'm looking at). This patch changes Automaton to wrap its underlying constant data in std::shared_ptr, which allows trivial copy construction. The DFAPacketizer creation function now creates a static archetypical Automaton and copies that whenever a new DFAPacketizer is required. This takes a testcase down from ~20s to ~0.5s in debug mode.
  18. Add ExceptionStream to llvm::Object::minidump Summary: This will allow updating MinidumpYAML and LLDB to use this common definition. Reviewers: labath, jhenderson, clayborg Reviewed By: labath Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68656
  19. One more attempt to fix PS4 buildbot after r375219 PS4 buildbot seems to be dropping variable names for some reason
  20. Attempt to fix PS4 buildbot after r375219
  21. Revert r375152 as it is causing failures on EXPENSIVE_CHECKS bot
  22. [SCEV] Removing deprecated comment in ScalarEvolutionExpander Removing a comment in the ScalarEvolutionExpander.cpp file that was about the class SCEVSDivExpr, which has been long gone from LLVM.
  23. [AMDGPU][MC][GFX9] Corrected parsing of v_cndmask_b32_sdwa See https://bugs.llvm.org/show_bug.cgi?id=43607 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D69095
  24. [NFC][CVP] Count all the no-wraps we proved Summary: It looks like this is the only missing statistic in the CVP pass. Since we prove NSW and NUW separately i'd think we should count them separately too. Reviewers: nikic, spatel, reames Reviewed By: spatel Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68740
  25. [AArch64] Adding support for PMMIR_EL1 register Summary: The PMMIR_EL1 register is present in Armv8.4 with PMU extension. This patch adds support for it. Reviewers: t.p.northover, dnsampaio Reviewed By: dnsampaio Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68940
  26. [clangd] Report declaration references in findExplicitReferences. Reviewers: ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68977
  27. [ThinLTOCodeGenerator] Add support for index-based WPD This is clang part of the patch. It adds -flto-unit flag for thin LTO builds on Mac and PS4 Differential revision: https://reviews.llvm.org/D68950
  28. [AArch64][SVE] Add SPLAT_VECTOR ISD Node Adds a new ISD node to replicate a scalar value across all elements of a vector. This is needed for scalable vectors, since BUILD_VECTOR cannot be used. Fixes up default type legalization for scalable vectors after the new MVT type ranges were introduced. At present I only use this node for scalable vectors. A DAGCombine has been added to transform a BUILD_VECTOR into a SPLAT_VECTOR if all elements are the same, but only if the default operation action of Expand has been overridden by the target. I've only added result promotion legalization for scalable vector i8/i16/i32/i64 types in AArch64 for now. Reviewers: t.p.northover, javed.absar, greened, cameron.mcinally, jmolloy Reviewed By: jmolloy Differential Revision: https://reviews.llvm.org/D47775
  29. [Arm][libsanitizer] Fix arm libsanitizer failure with bleeding edge glibc Glibc has recently introduced changed to the mode field in ipc_perm in commit 2f959dfe849e0646e27403f2e4091536496ac0f0. For Arm this means that the mode field no longer has the same size. This causes an assert failure against libsanitizer's internal copy of ipc_perm. Since this change can't be easily detected I am adding arm to the list of targets that are excluded from this check. Patch by: Tamar Christina Differential Revision: https://reviews.llvm.org/D69104
  30. [ThinLTOCodeGenerator] Add support for index-based WPD Differential revision: https://reviews.llvm.org/D68950
  31. [AArch64] Don't combine callee-save and local stack adjustment when optimizing for size 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
  32. [X86] Regenerate memcmp tests and add X64-AVX512 common prefix Should help make the changes in D69157 clearer
  33. Fix MSVC "not all control paths return a value" warning. NFCI.
  34. Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warnings. NFCI.
  35. [Codegen] Alter the default promotion for saturating adds and subs The default promotion for the add_sat/sub_sat nodes currently does: ANY_EXTEND iN to iM SHL by M-N [US][ADD|SUB]SAT L/ASHR by M-N If the promoted add_sat or sub_sat node is not legal, this can produce code that effectively does a lot of shifting (and requiring large constants to be materialised) just to use the overflow flag. It is simpler to just do the saturation manually, using the higher bitwidth addition and a min/max against the saturating bounds. That is what this patch attempts to do. Differential Revision: https://reviews.llvm.org/D68926
  36. [AArch64][SVE] Implement unpack intrinsics Summary: Implements the following intrinsics: - int_aarch64_sve_sunpkhi - int_aarch64_sve_sunpklo - int_aarch64_sve_uunpkhi - int_aarch64_sve_uunpklo This patch also adds AArch64ISD nodes for UNPK instead of implementing the intrinsics directly, as they are required for a future patch which implements the sign/zero extension of legal vectors. This patch includes tests for the Subdivide2Argument type added by D67549 Reviewers: sdesmalen, SjoerdMeijer, greened, rengolin, rovka Reviewed By: greened Subscribers: tschuett, kristof.beyls, rkruppe, psnobl, cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D67550
  37. [InstCombine] Fix miscompile bug in canEvaluateShuffled Summary: Add restrictions in canEvaluateShuffled to prevent that we for example transform %0 = insertelement <2 x i16> undef, i16 %a, i32 0 %1 = srem <2 x i16> %0, <i16 2, i16 1> %2 = shufflevector <2 x i16> %1, <2 x i16> undef, <2 x i32> <i32 undef, i32 0> into %1 = insertelement <2 x i16> undef, i16 %a, i32 1 %2 = srem <2 x i16> %1, <i16 undef, i16 2> as having an undef denominator makes the srem undefined (for all vector elements). Fixes: https://bugs.llvm.org/show_bug.cgi?id=43689 Reviewers: spatel, lebedev.ri Reviewed By: spatel, lebedev.ri Subscribers: lebedev.ri, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69038
  38. [InstCombine] Pre-commit of test case showing miscompile bug in canEvaluateShuffled Adding the reproducer from https://bugs.llvm.org/show_bug.cgi?id=43689, showing that instcombine is doing a bad transform. It transforms %0 = insertelement <2 x i16> undef, i16 %a, i32 0 %1 = srem <2 x i16> %0, <i16 2, i16 1> %2 = shufflevector <2 x i16> %1, <2 x i16> undef, <2 x i32> <i32 undef, i32 0> into %1 = insertelement <2 x i16> undef, i16 %a, i32 1 %2 = srem <2 x i16> %1, <i16 undef, i16 2> The undef denominator makes the whole srem undefined.
  39. [WebAssembly] -pthread implies -target-feature +sign-ext Summary: The sign extension proposal was motivated by a desire to not have separate sign-extending atomic operations, so it is meant to be enabled when threads are used. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, sunfish, jfb, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69075
  40. [X86] Emit KTEST when possible https://reviews.llvm.org/D69111
  41. [lit] Move resolving of XFAIL result codes out of Test.setResult This will allow us to serialize just the result object instead of the whole lit.Test object back from the worker to the main lit process.
  42. [lit] worker.py: Improve code for executing a single test
  43. [IndVars] Factor out some common code into a utility function As requested in review of D69009
  44. [Test] Precommit test for D69006
  45. [analyzer] exploded-graph-rewriter: Fix typo in r375186. Unbreaks tests.
  46. [analyzer] Assign truly stable identifiers to exploded nodes. ExplodedGraph nodes will now have a numeric identifier stored in them which will keep track of the order in which the nodes were created and it will be fully deterministic both accross runs and across machines. This is extremely useful for debugging as it allows reliably setting conditional breakpoints by node IDs.
  47. [analyzer] Display cast kinds in program point dumps. Because cast expressions have their own hierarchy, it's extremely useful to have some information about what kind of casts are we dealing with.
  48. [analyzer] exploded-graph-rewriter: Make node headers a bit lighter. The 50% grey color is too dark on some monitors.
  49. DebugInfo: Move loclist base address from DwarfFile to DebugLocStream There's no need to have more than one of these (there can be two DwarfFiles - one for the .o, one for the .dwo - but only one loc/loclist section (either in the .o or the .dwo) & certainly one per DebugLocStream, which is currently singular in DwarfDebug)
Revision 375263 by yln:
[lit] Remove unnecessary tracking of test_index
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
The file was modified/llvm/trunk/utils/lit/lit/worker.py (diff)llvm.src/utils/lit/lit/worker.py
Revision 375262 by yln:
[lit] Only send back test result from worker process

Avoid sending back the whole run.Test object (which needs to be pickled)
from the worker process when we are only interested in the test result.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/LitTestCase.py (diff)llvm.src/utils/lit/lit/LitTestCase.py
The file was modified/llvm/trunk/utils/lit/lit/run.py (diff)llvm.src/utils/lit/lit/run.py
The file was modified/llvm/trunk/utils/lit/lit/worker.py (diff)llvm.src/utils/lit/lit/worker.py
Revision 375261 by lebedevri:
[Codegen] Link MIRParser into CodeGenTests to fix MachineSizeOptsTest building
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CodeGen/CMakeLists.txt (diff)llvm.src/unittests/CodeGen/CMakeLists.txt
Revision 375260 by lebedevri:
[NFC][CVP] Add @llvm.*.sat tests where we could prove both no-overflows
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/CorrelatedValuePropagation/overflows.ll (diff)llvm.src/test/Transforms/CorrelatedValuePropagation/overflows.ll
Revision 375258 by modocache:
[Format] Add format check for throwing negative numbers

Summary:
The code `throw -1;` is currently formatted by clang-format as
`throw - 1;`. This diff adds a fix for this edge case and a test to check
for this in the future.

For context, I am looking into a related bug in the clang-formatting of
coroutine keywords: `co_yield -1;` is also reformatted in this manner
as `co_yield - 1;`. A later diff will add these changes and tests for the
`co_yield` and `co_return` keywords.

Patch by Jonathan Thomas (jonathoma)!

Reviewers: modocache, sammccall, Quuxplusone

Reviewed By: sammccall

Subscribers: cfe-commits

Tags: #clang-format, #clang

Differential Revision: https://reviews.llvm.org/D69144
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 375257 by abataev:
[DOCS]Update list of implemented constructs, NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/OpenMPSupport.rst (diff)clang.src/docs/OpenMPSupport.rst
Revision 375256 by gnsyncbot:
gn build: Merge r375254
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/Transforms/Utils/BUILD.gn
Revision 375255 by abataev:
[OPENMP50]Add support for master taskloop simd.

Added  trsing/semantics/codegen for combined construct master taskloop simd.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang-c/Index.h (diff)clang.src/include/clang-c/Index.h
The file was modified/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (diff)clang.src/include/clang/AST/RecursiveASTVisitor.h
The file was modified/cfe/trunk/include/clang/AST/StmtOpenMP.h (diff)clang.src/include/clang/AST/StmtOpenMP.h
The file was modified/cfe/trunk/include/clang/Basic/OpenMPKinds.def (diff)clang.src/include/clang/Basic/OpenMPKinds.def
The file was modified/cfe/trunk/include/clang/Basic/OpenMPKinds.h (diff)clang.src/include/clang/Basic/OpenMPKinds.h
The file was modified/cfe/trunk/include/clang/Basic/StmtNodes.td (diff)clang.src/include/clang/Basic/StmtNodes.td
The file was modified/cfe/trunk/include/clang/Sema/Sema.h (diff)clang.src/include/clang/Sema/Sema.h
The file was modified/cfe/trunk/include/clang/Serialization/ASTBitCodes.h (diff)clang.src/include/clang/Serialization/ASTBitCodes.h
The file was modified/cfe/trunk/lib/AST/StmtOpenMP.cpp (diff)clang.src/lib/AST/StmtOpenMP.cpp
The file was modified/cfe/trunk/lib/AST/StmtPrinter.cpp (diff)clang.src/lib/AST/StmtPrinter.cpp
The file was modified/cfe/trunk/lib/AST/StmtProfile.cpp (diff)clang.src/lib/AST/StmtProfile.cpp
The file was modified/cfe/trunk/lib/Basic/OpenMPKinds.cpp (diff)clang.src/lib/Basic/OpenMPKinds.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp (diff)clang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmt.cpp (diff)clang.src/lib/CodeGen/CGStmt.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGStmtOpenMP.cpp (diff)clang.src/lib/CodeGen/CGStmtOpenMP.cpp
The file was modified/cfe/trunk/lib/CodeGen/CodeGenFunction.h (diff)clang.src/lib/CodeGen/CodeGenFunction.h
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cpp (diff)clang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/SemaOpenMP.cpp (diff)clang.src/lib/Sema/SemaOpenMP.cpp
The file was modified/cfe/trunk/lib/Sema/TreeTransform.h (diff)clang.src/lib/Sema/TreeTransform.h
The file was modified/cfe/trunk/lib/Serialization/ASTReaderStmt.cpp (diff)clang.src/lib/Serialization/ASTReaderStmt.cpp
The file was modified/cfe/trunk/lib/Serialization/ASTWriterStmt.cpp (diff)clang.src/lib/Serialization/ASTWriterStmt.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)clang.src/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_aligned_messages.cppclang.src/test/OpenMP/master_taskloop_simd_aligned_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_ast_print.cppclang.src/test/OpenMP/master_taskloop_simd_ast_print.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_codegen.cppclang.src/test/OpenMP/master_taskloop_simd_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_collapse_messages.cppclang.src/test/OpenMP/master_taskloop_simd_collapse_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_final_messages.cppclang.src/test/OpenMP/master_taskloop_simd_final_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cppclang.src/test/OpenMP/master_taskloop_simd_firstprivate_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_firstprivate_messages.cppclang.src/test/OpenMP/master_taskloop_simd_firstprivate_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_grainsize_messages.cppclang.src/test/OpenMP/master_taskloop_simd_grainsize_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cppclang.src/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_in_reduction_messages.cppclang.src/test/OpenMP/master_taskloop_simd_in_reduction_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cppclang.src/test/OpenMP/master_taskloop_simd_lastprivate_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_lastprivate_messages.cppclang.src/test/OpenMP/master_taskloop_simd_lastprivate_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_linear_messages.cppclang.src/test/OpenMP/master_taskloop_simd_linear_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_loop_messages.cppclang.src/test/OpenMP/master_taskloop_simd_loop_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_misc_messages.cclang.src/test/OpenMP/master_taskloop_simd_misc_messages.c
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_num_tasks_messages.cppclang.src/test/OpenMP/master_taskloop_simd_num_tasks_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_priority_messages.cppclang.src/test/OpenMP/master_taskloop_simd_priority_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_private_codegen.cppclang.src/test/OpenMP/master_taskloop_simd_private_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_private_messages.cppclang.src/test/OpenMP/master_taskloop_simd_private_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_reduction_codegen.cppclang.src/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_reduction_messages.cppclang.src/test/OpenMP/master_taskloop_simd_reduction_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_safelen_messages.cppclang.src/test/OpenMP/master_taskloop_simd_safelen_messages.cpp
The file was added/cfe/trunk/test/OpenMP/master_taskloop_simd_simdlen_messages.cppclang.src/test/OpenMP/master_taskloop_simd_simdlen_messages.cpp
The file was modified/cfe/trunk/tools/libclang/CIndex.cpp (diff)clang.src/tools/libclang/CIndex.cpp
The file was modified/cfe/trunk/tools/libclang/CXCursor.cpp (diff)clang.src/tools/libclang/CXCursor.cpp
Revision 375254 by yamauchi:
[PGO][PGSO] SizeOpts changes.

Summary:
(Split of off D67120)

SizeOpts/MachineSizeOpts changes for profile guided size optimization.

Reviewers: davidxl

Subscribers: mgorny, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69070
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineBlockFrequencyInfo.h (diff)llvm.src/include/llvm/CodeGen/MachineBlockFrequencyInfo.h
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineDominators.h (diff)llvm.src/include/llvm/CodeGen/MachineDominators.h
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineLoopInfo.h (diff)llvm.src/include/llvm/CodeGen/MachineLoopInfo.h
The file was added/llvm/trunk/include/llvm/CodeGen/MachineSizeOpts.hllvm.src/include/llvm/CodeGen/MachineSizeOpts.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/SizeOpts.h (diff)llvm.src/include/llvm/Transforms/Utils/SizeOpts.h
The file was modified/llvm/trunk/lib/CodeGen/CMakeLists.txt (diff)llvm.src/lib/CodeGen/CMakeLists.txt
The file was modified/llvm/trunk/lib/CodeGen/MachineBlockFrequencyInfo.cpp (diff)llvm.src/lib/CodeGen/MachineBlockFrequencyInfo.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineDominators.cpp (diff)llvm.src/lib/CodeGen/MachineDominators.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineLoopInfo.cpp (diff)llvm.src/lib/CodeGen/MachineLoopInfo.cpp
The file was added/llvm/trunk/lib/CodeGen/MachineSizeOpts.cppllvm.src/lib/CodeGen/MachineSizeOpts.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/SizeOpts.cpp (diff)llvm.src/lib/Transforms/Utils/SizeOpts.cpp
The file was modified/llvm/trunk/unittests/CodeGen/CMakeLists.txt (diff)llvm.src/unittests/CodeGen/CMakeLists.txt
The file was added/llvm/trunk/unittests/CodeGen/MachineSizeOptsTest.cppllvm.src/unittests/CodeGen/MachineSizeOptsTest.cpp
The file was modified/llvm/trunk/unittests/Transforms/Utils/CMakeLists.txt (diff)llvm.src/unittests/Transforms/Utils/CMakeLists.txt
The file was added/llvm/trunk/unittests/Transforms/Utils/SizeOptsTest.cppllvm.src/unittests/Transforms/Utils/SizeOptsTest.cpp
Revision 375253 by rksimon:
[X86] combineX86ShufflesRecursively - pull out isTargetShuffleVariableMask. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 375252 by foad:
[IR] Reimplement FPMathOperator::classof as a whitelist.

Summary:
This makes it much easier to verify that the implementation matches the
documentation. It uncovered a bug in the unit tests where we were
accidentally setting fast math flags on a load instruction.

Reviewers: spatel, wristow, arsenm, hfinkel, aemerson, efriedma, cameron.mcinally, mcberg2017, jmolloy

Subscribers: wdng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69176
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Operator.h (diff)llvm.src/include/llvm/IR/Operator.h
The file was modified/llvm/trunk/unittests/IR/IRBuilderTest.cpp (diff)llvm.src/unittests/IR/IRBuilderTest.cpp
Revision 375250 by foad:
Update docs for fast-math flags.

This adds fneg, phi and select to the list of operations that may use
fast-math flags.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rst (diff)llvm.src/docs/LangRef.rst
Revision 375247 by krasimir:
[clang-format] fix regression recognizing casts in Obj-C calls

Summary:
r373922 added checks for a few tokens that, following an `)` make it
unlikely that the `)` is the closing paren of a cast expression. The
specific check for `tok::l_square` there introduced a regression for
casts of Obj-C calls, like:
```
(cast)[func arg]
```
From the tests added in r373922, I believe the `tok::l_square` case is added to
capture the case where a non-cast `)` is directly followed by an
attribute specifier, like:
```
int f(int x) [[noreturn]];
```

I've specialized the code to look for such attribute specifier instead
of `tok::l_square` in general. Also, I added a regression test and moved
the test cases added in r373922 to an already existing place documenting
other instances of historically misidentified casts.

Reviewers: MyDeveloperDay

Reviewed By: MyDeveloperDay

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D69164
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cpp (diff)clang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cpp (diff)clang.src/unittests/Format/FormatTest.cpp
Revision 375245 by hliao:
[tooling] Relax an assert when multiple GPU targets are specified.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Tooling/Tooling.cpp (diff)clang.src/lib/Tooling/Tooling.cpp
Revision 375242 by josepht:
Update MinidumpYAML to use minidump::Exception for exception stream

Reviewers: labath, jhenderson, clayborg, MaskRay, grimar

Reviewed By: grimar

Subscribers: lldb-commits, grimar, MaskRay, hiraditya, llvm-commits

Tags: #llvm, #lldb

Differential Revision: https://reviews.llvm.org/D68657
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/packages/Python/lldbsuite/test/functionalities/postmortem/minidump-new/linux-x86_64.yaml (diff)N/A
The file was modified/llvm/trunk/include/llvm/ObjectYAML/MinidumpYAML.h (diff)llvm.src/include/llvm/ObjectYAML/MinidumpYAML.h
The file was modified/llvm/trunk/lib/ObjectYAML/MinidumpEmitter.cpp (diff)llvm.src/lib/ObjectYAML/MinidumpEmitter.cpp
The file was modified/llvm/trunk/lib/ObjectYAML/MinidumpYAML.cpp (diff)llvm.src/lib/ObjectYAML/MinidumpYAML.cpp
The file was modified/llvm/trunk/test/tools/obj2yaml/basic-minidump.yaml (diff)llvm.src/test/tools/obj2yaml/basic-minidump.yaml
The file was added/llvm/trunk/test/tools/yaml2obj/minidump-exception-missing-parameter.yamlllvm.src/test/tools/yaml2obj/minidump-exception-missing-parameter.yaml
The file was modified/llvm/trunk/unittests/ObjectYAML/MinidumpYAMLTest.cpp (diff)llvm.src/unittests/ObjectYAML/MinidumpYAMLTest.cpp
Revision 375241 by dpreobra:
[AMDGPU][MC][GFX10] Added sdwa/dpp versions of v_cndmask_b32

See https://bugs.llvm.org/show_bug.cgi?id=43608

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D69096
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp (diff)llvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/test/MC/AMDGPU/gfx10_asm_dpp8.s (diff)llvm.src/test/MC/AMDGPU/gfx10_asm_dpp8.s
The file was modified/llvm/trunk/test/MC/AMDGPU/wave32.s (diff)llvm.src/test/MC/AMDGPU/wave32.s
The file was modified/llvm/trunk/test/MC/Disassembler/AMDGPU/gfx10_dasm_dpp16.txt (diff)llvm.src/test/MC/Disassembler/AMDGPU/gfx10_dasm_dpp16.txt
The file was modified/llvm/trunk/test/MC/Disassembler/AMDGPU/wave32.txt (diff)llvm.src/test/MC/Disassembler/AMDGPU/wave32.txt
Revision 375240 by jamesm:
[DFAPacketizer] Fix large compile-time regression for VLIW targets

D68992 / rL375086 refactored the packetizer and removed a bunch of logic. Unfortunately it creates an Automaton object whenever a DFAPacketizer is required. These objects have no longevity, and in particular on a debug build the population of the Automaton's transition map from the underlying table is very slow (because it is called ~10 times per MachineFunction, in the testcase I'm looking at).

This patch changes Automaton to wrap its underlying constant data in std::shared_ptr, which allows trivial copy construction. The DFAPacketizer creation function now creates a static archetypical Automaton and copies that whenever a new DFAPacketizer is required.

This takes a testcase down from ~20s to ~0.5s in debug mode.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/Automaton.h (diff)llvm.src/include/llvm/Support/Automaton.h
The file was modified/llvm/trunk/utils/TableGen/DFAPacketizerEmitter.cpp (diff)llvm.src/utils/TableGen/DFAPacketizerEmitter.cpp
Revision 375239 by josepht:
Add ExceptionStream to llvm::Object::minidump

Summary:
This will allow updating MinidumpYAML and LLDB to use this common
definition.

Reviewers: labath, jhenderson, clayborg

Reviewed By: labath

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68656
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/Minidump.h (diff)llvm.src/include/llvm/BinaryFormat/Minidump.h
The file was modified/llvm/trunk/include/llvm/Object/Minidump.h (diff)llvm.src/include/llvm/Object/Minidump.h
The file was modified/llvm/trunk/unittests/Object/MinidumpTest.cpp (diff)llvm.src/unittests/Object/MinidumpTest.cpp
Revision 375237 by evgeny777:
One more attempt to fix PS4 buildbot after r375219

PS4 buildbot seems to be dropping variable names for some reason
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/ThinLTO/X86/devirt_promote_legacy.ll (diff)llvm.src/test/ThinLTO/X86/devirt_promote_legacy.ll
Revision 375235 by evgeny777:
Attempt to fix PS4 buildbot after r375219
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/ThinLTO/X86/devirt_promote_legacy.ll (diff)llvm.src/test/ThinLTO/X86/devirt_promote_legacy.ll
Revision 375233 by nemanjai:
Revert r375152 as it is causing failures on EXPENSIVE_CHECKS bot
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCTargetMachine.cpp (diff)llvm.src/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modified/llvm/trunk/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll (diff)llvm.src/test/CodeGen/PowerPC/2008-10-28-f128-i32.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/brcond.ll (diff)llvm.src/test/CodeGen/PowerPC/brcond.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/pr42492.ll (diff)llvm.src/test/CodeGen/PowerPC/pr42492.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/tocSaveInPrologue.ll (diff)llvm.src/test/CodeGen/PowerPC/tocSaveInPrologue.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/vec-min-max.ll (diff)llvm.src/test/CodeGen/PowerPC/vec-min-max.ll
Revision 375232 by vhscampos:
[SCEV] Removing deprecated comment in ScalarEvolutionExpander

Removing a comment in the ScalarEvolutionExpander.cpp file that was about the
class SCEVSDivExpr, which has been long gone from LLVM.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ScalarEvolutionExpander.cpp (diff)llvm.src/lib/Analysis/ScalarEvolutionExpander.cpp
Revision 375231 by dpreobra:
[AMDGPU][MC][GFX9] Corrected parsing of v_cndmask_b32_sdwa

See https://bugs.llvm.org/show_bug.cgi?id=43607

Reviewers: arsenm, rampitec

Differential Revision: https://reviews.llvm.org/D69095
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp (diff)llvm.src/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.td (diff)llvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was modified/llvm/trunk/test/MC/AMDGPU/vop_sdwa.s (diff)llvm.src/test/MC/AMDGPU/vop_sdwa.s
Revision 375230 by lebedevri:
[NFC][CVP] Count all the no-wraps we proved

Summary:
It looks like this is the only missing statistic in the CVP pass.
Since we prove NSW and NUW separately i'd think we should count them separately too.

Reviewers: nikic, spatel, reames

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68740
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp (diff)llvm.src/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Revision 375228 by vhscampos:
[AArch64] Adding support for PMMIR_EL1 register

Summary:
The PMMIR_EL1 register is present in Armv8.4 with PMU extension.
This patch adds support for it.

Reviewers: t.p.northover, dnsampaio

Reviewed By: dnsampaio

Subscribers: kristof.beyls, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68940
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.td (diff)llvm.src/lib/Target/AArch64/AArch64.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64InstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.h (diff)llvm.src/lib/Target/AArch64/AArch64Subtarget.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64SystemOperands.td (diff)llvm.src/lib/Target/AArch64/AArch64SystemOperands.td
The file was added/llvm/trunk/test/MC/AArch64/armv8.4a-pmu.sllvm.src/test/MC/AArch64/armv8.4a-pmu.s
The file was added/llvm/trunk/test/MC/Disassembler/AArch64/armv8.4a-pmu.txtllvm.src/test/MC/Disassembler/AArch64/armv8.4a-pmu.txt
Revision 375226 by hokein:
[clangd] Report declaration references in findExplicitReferences.

Reviewers: ilya-biryukov

Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D68977
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/AST.cpp (diff)clang-tools-extra.src/clangd/AST.cpp
The file was modified/clang-tools-extra/trunk/clangd/AST.h (diff)clang-tools-extra.src/clangd/AST.h
The file was modified/clang-tools-extra/trunk/clangd/FindTarget.cpp (diff)clang-tools-extra.src/clangd/FindTarget.cpp
The file was modified/clang-tools-extra/trunk/clangd/FindTarget.h (diff)clang-tools-extra.src/clangd/FindTarget.h
The file was modified/clang-tools-extra/trunk/clangd/XRefs.cpp (diff)clang-tools-extra.src/clangd/XRefs.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/FindTargetTests.cpp (diff)clang-tools-extra.src/clangd/unittests/FindTargetTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/XRefsTests.cpp (diff)clang-tools-extra.src/clangd/unittests/XRefsTests.cpp
Revision 375224 by evgeny777:
[ThinLTOCodeGenerator] Add support for index-based WPD

This is clang part of the patch. It adds -flto-unit flag for thin LTO
builds on Mac and PS4

Differential revision: https://reviews.llvm.org/D68950
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cpp (diff)clang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/test/Driver/lto-unit.c (diff)clang.src/test/Driver/lto-unit.c
Revision 375222 by huntergr:
[AArch64][SVE] Add SPLAT_VECTOR ISD Node

Adds a new ISD node to replicate a scalar value across all elements of
a vector. This is needed for scalable vectors, since BUILD_VECTOR cannot
be used.

Fixes up default type legalization for scalable vectors after the
new MVT type ranges were introduced.

At present I only use this node for scalable vectors. A DAGCombine has
been added to transform a BUILD_VECTOR into a SPLAT_VECTOR if all
elements are the same, but only if the default operation action of
Expand has been overridden by the target.

I've only added result promotion legalization for scalable vector
i8/i16/i32/i64 types in AArch64 for now.

Reviewers: t.p.northover, javed.absar, greened, cameron.mcinally, jmolloy

Reviewed By: jmolloy

Differential Revision: https://reviews.llvm.org/D47775
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h (diff)llvm.src/include/llvm/CodeGen/ISDOpcodes.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
The file was modified/llvm/trunk/lib/CodeGen/TargetLoweringBase.cpp (diff)llvm.src/lib/CodeGen/TargetLoweringBase.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/SVEInstrFormats.td (diff)llvm.src/lib/Target/AArch64/SVEInstrFormats.td
The file was added/llvm/trunk/test/CodeGen/AArch64/sve-vector-splat.llllvm.src/test/CodeGen/AArch64/sve-vector-splat.ll
Revision 375220 by sjoerdmeijer:
[Arm][libsanitizer] Fix arm libsanitizer failure with bleeding edge glibc

Glibc has recently introduced changed to the mode field in ipc_perm in commit
2f959dfe849e0646e27403f2e4091536496ac0f0. For Arm this means that the mode
field no longer has the same size.

This causes an assert failure against libsanitizer's internal copy of ipc_perm.
Since this change can't be easily detected I am adding arm to the list of
targets that are excluded from this check.

Patch by: Tamar Christina

Differential Revision: https://reviews.llvm.org/D69104
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp (diff)compiler-rt.src/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
Revision 375219 by evgeny777:
[ThinLTOCodeGenerator] Add support for index-based WPD

Differential revision: https://reviews.llvm.org/D68950
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cpp (diff)llvm.src/lib/LTO/ThinLTOCodeGenerator.cpp
The file was added/llvm/trunk/test/ThinLTO/X86/devirt_promote_legacy.llllvm.src/test/ThinLTO/X86/devirt_promote_legacy.ll
Revision 375217 by dmgreen:
[AArch64] Don't combine callee-save and local stack adjustment when optimizing for size

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
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was added/llvm/trunk/test/CodeGen/AArch64/arm64-never-combine-csr-local-stack-bump-for-size.llllvm.src/test/CodeGen/AArch64/arm64-never-combine-csr-local-stack-bump-for-size.ll
Revision 375215 by rksimon:
[X86] Regenerate memcmp tests and add X64-AVX512 common prefix

Should help make the changes in D69157 clearer
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/memcmp.ll (diff)llvm.src/test/CodeGen/X86/memcmp.ll
Revision 375214 by rksimon:
Fix MSVC "not all control paths return a value" warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
Revision 375213 by rksimon:
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warnings. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Object/MachOUniversal.cpp (diff)llvm.src/lib/Object/MachOUniversal.cpp
The file was modified/llvm/trunk/tools/llvm-objdump/MachODump.cpp (diff)llvm.src/tools/llvm-objdump/MachODump.cpp
Revision 375211 by dmgreen:
[Codegen] Alter the default promotion for saturating adds and subs

The default promotion for the add_sat/sub_sat nodes currently does:
    ANY_EXTEND iN to iM
    SHL by M-N
    [US][ADD|SUB]SAT
    L/ASHR by M-N

If the promoted add_sat or sub_sat node is not legal, this can produce code
that effectively does a lot of shifting (and requiring large constants to be
materialised) just to use the overflow flag. It is simpler to just do the
saturation manually, using the higher bitwidth addition and a min/max against
the saturating bounds. That is what this patch attempts to do.

Differential Revision: https://reviews.llvm.org/D68926
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/sadd_sat.ll (diff)llvm.src/test/CodeGen/AArch64/sadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/sadd_sat_plus.ll (diff)llvm.src/test/CodeGen/AArch64/sadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/sadd_sat_vec.ll (diff)llvm.src/test/CodeGen/AArch64/sadd_sat_vec.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/ssub_sat.ll (diff)llvm.src/test/CodeGen/AArch64/ssub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/ssub_sat_plus.ll (diff)llvm.src/test/CodeGen/AArch64/ssub_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/ssub_sat_vec.ll (diff)llvm.src/test/CodeGen/AArch64/ssub_sat_vec.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/uadd_sat.ll (diff)llvm.src/test/CodeGen/AArch64/uadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/uadd_sat_plus.ll (diff)llvm.src/test/CodeGen/AArch64/uadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/uadd_sat_vec.ll (diff)llvm.src/test/CodeGen/AArch64/uadd_sat_vec.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/usub_sat.ll (diff)llvm.src/test/CodeGen/AArch64/usub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/usub_sat_plus.ll (diff)llvm.src/test/CodeGen/AArch64/usub_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/AArch64/usub_sat_vec.ll (diff)llvm.src/test/CodeGen/AArch64/usub_sat_vec.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/sadd_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/sadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/ssub_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/ssub_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/uadd_sat.ll (diff)llvm.src/test/CodeGen/ARM/uadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/uadd_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/uadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/usub_sat.ll (diff)llvm.src/test/CodeGen/ARM/usub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/ARM/usub_sat_plus.ll (diff)llvm.src/test/CodeGen/ARM/usub_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sadd_sat.ll (diff)llvm.src/test/CodeGen/X86/sadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/sadd_sat_plus.ll (diff)llvm.src/test/CodeGen/X86/sadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/ssub_sat.ll (diff)llvm.src/test/CodeGen/X86/ssub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/ssub_sat_plus.ll (diff)llvm.src/test/CodeGen/X86/ssub_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/uadd_sat.ll (diff)llvm.src/test/CodeGen/X86/uadd_sat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/uadd_sat_plus.ll (diff)llvm.src/test/CodeGen/X86/uadd_sat_plus.ll
The file was modified/llvm/trunk/test/CodeGen/X86/usub_sat.ll (diff)llvm.src/test/CodeGen/X86/usub_sat.ll
The file was modified/llvm/trunk/test/CodeGen/X86/usub_sat_plus.ll (diff)llvm.src/test/CodeGen/X86/usub_sat_plus.ll
Revision 375210 by kmclaughlin:
[AArch64][SVE] Implement unpack intrinsics

Summary:
Implements the following intrinsics:
  - int_aarch64_sve_sunpkhi
  - int_aarch64_sve_sunpklo
  - int_aarch64_sve_uunpkhi
  - int_aarch64_sve_uunpklo

This patch also adds AArch64ISD nodes for UNPK instead of implementing
the intrinsics directly, as they are required for a future patch which
implements the sign/zero extension of legal vectors.

This patch includes tests for the Subdivide2Argument type added by D67549

Reviewers: sdesmalen, SjoerdMeijer, greened, rengolin, rovka

Reviewed By: greened

Subscribers: tschuett, kristof.beyls, rkruppe, psnobl, cfe-commits, llvm-commits

Differential Revision: https://reviews.llvm.org/D67550
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAArch64.td (diff)llvm.src/include/llvm/IR/IntrinsicsAArch64.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.h (diff)llvm.src/lib/Target/AArch64/AArch64ISelLowering.h
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64InstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64SVEInstrInfo.td (diff)llvm.src/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/SVEInstrFormats.td (diff)llvm.src/lib/Target/AArch64/SVEInstrFormats.td
The file was added/llvm/trunk/test/CodeGen/AArch64/sve-intrinsics-perm-select.llllvm.src/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
Revision 375208 by bjope:
[InstCombine] Fix miscompile bug in canEvaluateShuffled

Summary:
Add restrictions in canEvaluateShuffled to prevent that we for example
transform

  %0 = insertelement <2 x i16> undef, i16 %a, i32 0
  %1 = srem <2 x i16> %0, <i16 2, i16 1>
  %2 = shufflevector <2 x i16> %1, <2 x i16> undef, <2 x i32> <i32 undef, i32 0>

into

   %1 = insertelement <2 x i16> undef, i16 %a, i32 1
   %2 = srem <2 x i16> %1, <i16 undef, i16 2>

as having an undef denominator makes the srem undefined (for all
vector elements).

Fixes: https://bugs.llvm.org/show_bug.cgi?id=43689

Reviewers: spatel, lebedev.ri

Reviewed By: spatel, lebedev.ri

Subscribers: lebedev.ri, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D69038
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineVectorOps.cpp (diff)llvm.src/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/shufflevector-div-rem.ll (diff)llvm.src/test/Transforms/InstCombine/shufflevector-div-rem.ll
Revision 375207 by bjope:
[InstCombine] Pre-commit of test case showing miscompile bug in canEvaluateShuffled

Adding the reproducer from  https://bugs.llvm.org/show_bug.cgi?id=43689,
showing that instcombine is doing a bad transform. It transforms

  %0 = insertelement <2 x i16> undef, i16 %a, i32 0
  %1 = srem <2 x i16> %0, <i16 2, i16 1>
  %2 = shufflevector <2 x i16> %1, <2 x i16> undef, <2 x i32> <i32 undef, i32 0>

into

   %1 = insertelement <2 x i16> undef, i16 %a, i32 1
   %2 = srem <2 x i16> %1, <i16 undef, i16 2>

The undef denominator makes the whole srem undefined.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/shufflevector-div-rem.llllvm.src/test/Transforms/InstCombine/shufflevector-div-rem.ll
Revision 375199 by tlively:
[WebAssembly] -pthread implies -target-feature +sign-ext

Summary:
The sign extension proposal was motivated by a desire to not have
separate sign-extending atomic operations, so it is meant to be
enabled when threads are used.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, sunfish, jfb, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D69075
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/WebAssembly.cpp (diff)clang.src/lib/Driver/ToolChains/WebAssembly.cpp
The file was modified/cfe/trunk/test/Driver/wasm-toolchain.c (diff)clang.src/test/Driver/wasm-toolchain.c
Revision 375197 by davezarzycki:
[X86] Emit KTEST when possible

https://reviews.llvm.org/D69111
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll (diff)llvm.src/test/CodeGen/X86/avx512-mask-op.ll
Revision 375195 by yln:
[lit] Move resolving of XFAIL result codes out of Test.setResult

This will allow us to serialize just the result object instead of the
whole lit.Test object back from the worker to the main lit process.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/Test.py (diff)llvm.src/utils/lit/lit/Test.py
The file was modified/llvm/trunk/utils/lit/lit/worker.py (diff)llvm.src/utils/lit/lit/worker.py
Revision 375194 by yln:
[lit] worker.py: Improve code for executing a single test
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/lit/lit/worker.py (diff)llvm.src/utils/lit/lit/worker.py
Revision 375191 by reames:
[IndVars] Factor out some common code into a utility function

As requested in review of D69009
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/IndVarSimplify.cpp (diff)llvm.src/lib/Transforms/Scalar/IndVarSimplify.cpp
Revision 375190 by reames:
[Test] Precommit test for D69006
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Analysis/ScalarEvolution/umin-umax-folds.llllvm.src/test/Analysis/ScalarEvolution/umin-umax-folds.ll
Revision 375189 by dergachev:
[analyzer] exploded-graph-rewriter: Fix typo in r375186. Unbreaks tests.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Analysis/dump_egraph.c (diff)clang.src/test/Analysis/dump_egraph.c
Revision 375186 by dergachev:
[analyzer] Assign truly stable identifiers to exploded nodes.

ExplodedGraph nodes will now have a numeric identifier stored in them
which will keep track of the order in which the nodes were created
and it will be fully deterministic both accross runs and across machines.

This is extremely useful for debugging as it allows reliably setting
conditional breakpoints by node IDs.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h (diff)clang.src/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp (diff)clang.src/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/ExplodedGraph.cpp (diff)clang.src/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Core/ExprEngine.cpp (diff)clang.src/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modified/cfe/trunk/test/Analysis/dump_egraph.c (diff)clang.src/test/Analysis/dump_egraph.c
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/checker_messages.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/checker_messages.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/checker_messages_diff.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/constraints.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/constraints.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/constraints_diff.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/constraints_diff.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/edge.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/edge.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/environment.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/environment.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/environment_diff.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/environment_diff.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/node_labels.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/program_points.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/program_points.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/store.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/store.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/store_diff.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/store_diff.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/topology.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/topology.dot
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/trimmers.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/trimmers.dot
The file was modified/cfe/trunk/utils/analyzer/exploded-graph-rewriter.py (diff)clang.src/utils/analyzer/exploded-graph-rewriter.py
Revision 375185 by dergachev:
[analyzer] Display cast kinds in program point dumps.

Because cast expressions have their own hierarchy, it's extremely useful
to have some information about what kind of casts are we dealing with.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Analysis/ProgramPoint.cpp (diff)clang.src/lib/Analysis/ProgramPoint.cpp
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/program_points.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/program_points.dot
The file was modified/cfe/trunk/utils/analyzer/exploded-graph-rewriter.py (diff)clang.src/utils/analyzer/exploded-graph-rewriter.py
Revision 375184 by dergachev:
[analyzer] exploded-graph-rewriter: Make node headers a bit lighter.

The 50% grey color is too dark on some monitors.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Analysis/exploded-graph-rewriter/node_labels.dot (diff)clang.src/test/Analysis/exploded-graph-rewriter/node_labels.dot
The file was modified/cfe/trunk/utils/analyzer/exploded-graph-rewriter.py (diff)clang.src/utils/analyzer/exploded-graph-rewriter.py
Revision 375183 by dblaikie:
DebugInfo: Move loclist base address from DwarfFile to DebugLocStream

There's no need to have more than one of these (there can be two
DwarfFiles - one for the .o, one for the .dwo - but only one loc/loclist
section (either in the .o or the .dwo) & certainly one per
DebugLocStream, which is currently singular in DwarfDebug)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DebugLocStream.h (diff)llvm.src/lib/CodeGen/AsmPrinter/DebugLocStream.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfFile.h (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfFile.h
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfUnit.h (diff)llvm.src/lib/CodeGen/AsmPrinter/DwarfUnit.h