FailedChanges

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

Summary

  1. [NFC] Add comments in unit test aix-xcoff-toc.ll to clarify the intent (details)
  2. [SelectionDAG] Fix copy/paste mistake in comment. NFC (details)
  3. [TargetLowering][AMDGPU] Make scalarizeVectorLoad return a pair of (details)
  4. [mlir] Refactor operation results to use a single use list for all (details)
  5. [NFC] Style cleanup (details)
  6. Revert "DebugInfo: Fix rangesBaseAddress DICompileUnit bitcode (details)
  7. [NFC] Make X86MCCodeEmitter::isPCRel32Branch static (details)
  8. [Attributor] Annotate the memory behavior of call site arguments (details)
  9. [Attributor] Use abstract call sites to determine associated arguments (details)
  10. [Attributor] Propagate known align from arguments to call sites (details)
  11. [Utils] Allow update_test_checks to scrub attribute annotations (details)
  12. [Utils] Reuse argument variable names in the body (details)
  13. [NFC] Style cleanup (details)
  14. [Utils][Fix] Minor test result change (details)
  15. [X86] Slightly improve our attempted error recovery for 64-bit -mno-sse2 (details)
  16. [Attributor] Function signature rewrite infrastructure (details)
  17. [Utils] Deal with occasionally deleted functions (details)
  18. [Attributor] Suppress unused warnings when assertions are disabled. NFC (details)
  19. clang-tidy doc: modernize-make-unique has an autofix (details)
  20. [InstCombine] Add tests for PR44242 (details)
  21. [InstCombine] Don't rewrite phi-of-bitcast when the phi has other users (details)
  22. Fix external-names.c test when separator is \\ (details)
  23. [ARM][TypePromotion] Re-enable by default (details)
  24. [llvm-exegesis] Check counters before running (details)
  25. [mlir][Linalg] Delete unused LinalgLibraryOps.td (details)
  26. [InstCombine] Fix infinite loop due to bitcast <-> phi transforms (details)
  27. [InstCombine] add tests for masked bit set/clear; NFC (details)
  28. [AArch64] add test for fsub+fneg; NFC (details)
  29. [OpenCL] Remove redundant foreach in OpenCLBuiltins.td; NFC (details)
Commit 991f7abdfc55ed968ee5593fb3a2d4843498da41 by jasonliu
[NFC] Add comments in unit test aix-xcoff-toc.ll to clarify the intent
Address David's post review comment in https://reviews.llvm.org/D71667.
Add comments to clarify what we are testing in that file.
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
Commit 831898ff8acd4f5d8c5a644e6e566cefa23e2d6c by craig.topper
[SelectionDAG] Fix copy/paste mistake in comment. NFC
I think this was copied from scalarizeVectorLoad where that is what
happens.
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit 787e078f3ec89bce82a789d2ee01beecc98db4d7 by craig.topper
[TargetLowering][AMDGPU] Make scalarizeVectorLoad return a pair of
SDValues instead of creating a MERGE_VALUES node. NFCI
This allows us to clean up some places that were peeking through the
MERGE_VALUES node after the call. By returning the SDValues directly, we
can clean that up.
Unfortunately, there are several call sites in AMDGPU that wanted the
MERGE_VALUES and now need to create their own.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
Commit 0d6ebb4f0dd7ca81bdfc2a210b1d5ef46e0c9587 by riverriddle
[mlir] Refactor operation results to use a single use list for all
results of the operation.
Summary: A new class is added, IRMultiObjectWithUseList, that allows for
representing an IR use list that holds multiple sub values(used in this
case for OpResults). This class provides all of the same functionality
as the base IRObjectWithUseList, but for specific sub-values. This saves
a word per operation result and is a necessary step in optimizing the
layout of operation results. For now the use list is placed on the
operation itself, so zero-result operations grow by a word. When the
work for optimizing layout is finished, this can be moved back to being
a trailing object based on memory/runtime benchmarking.
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D71955
The file was modifiedmlir/include/mlir/IR/UseDefLists.h
The file was modifiedmlir/include/mlir/IR/Block.h
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedmlir/lib/IR/Value.cpp
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
The file was modifiedmlir/include/mlir/IR/Operation.h
Commit 5b1cbfa4232ee81e62a16534113aeb7401841f82 by shengchen.kan
[NFC] Style cleanup
1. Remove function is64BitMode() and use STI.hasFeature(X86::Mode16Bit)
directly 2. Use Doxygen features in comment 3. Rename functions to make
them start with a lower case letter 4. Format the code with clang-format
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit b350c666ab65b7585bc58301b03d2b46dc6b0504 by dblaikie
Revert "DebugInfo: Fix rangesBaseAddress DICompileUnit bitcode
serialization/deserialization"
Seeing some curious CFI failures internally - which makes little sense
to me, as I don't think anyone is using this flag (even us,
internally)... so sounds like a bug in my code somewhere (possibly a
latent one that propagating this flag exposed, not sure). Reverting
while I investigate.
This reverts commit c51b45e32ef7f35c11891f60871aa9c2c04cd991.
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/test/DebugInfo/X86/range_reloc.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modifiedllvm/test/Assembler/dicompileunit.ll
Commit 23a6ae2b0624278646929d5cbed360f79be505ac by shengchen.kan
[NFC] Make X86MCCodeEmitter::isPCRel32Branch static
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 28880198718b51a8d590d6e8194f2932683bdd54 by johannes
[Attributor] Annotate the memory behavior of call site arguments
Especially for callbacks, annotating the call site arguments is
important. Doing so exposed a too strong dependence of AAMemoryBehavior
on AANoCapture since we handle the case of potentially captured pointers
explicitly.
The changes to the tests are all mechanical.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval-2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/chained.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/variadic.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/fp80.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/attrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/misc.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
The file was modifiedllvm/test/Transforms/Attributor/align.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
Commit b1b441d22de88ec9816403ab6d0541ca91faba16 by johannes
[Attributor] Use abstract call sites to determine associated arguments
This is the second step after D67871 to make use of abstract call sites.
In this patch the argument we associate with a abstract call site
argument can be the one in the callback callee instead of the one in the
callback broker.
Caveat: We cannot allow no-alias arguments for problematic callbacks: As
described in [1], adding no-alias (or restrict) to arguments could break
synchronization as the synchronization effect, e.g., a barrier, does not
"alias" with the pointer anymore. This disables no-alias annotation for
potentially problematic arguments until we implement the fix described
in [1].
Reviewed By: uenoku
Differential Revision: https://reviews.llvm.org/D68008
[1] Compiler Optimizations for OpenMP, J. Doerfert and H. Finkel,
   International Workshop on OpenMP 2018,
   http://compilers.cs.uni-saarland.de/people/doerfert/par_opt18.pdf
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/include/llvm/IR/CallSite.h
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/openmp_parallel_for.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/lib/IR/AbstractCallSite.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
Commit dada8132af65c1fa74070839c260cd78d97a0903 by johannes
[Attributor] Propagate known align from arguments to call sites
arguments
Since the information is known we can simply use it at the call site.
This is especially useful for callbacks but also helps regular calls.
The test changes are mechanical.
The file was modifiedllvm/test/Transforms/Attributor/nocapture-2.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr32917.ll
The file was modifiedllvm/test/Transforms/Attributor/callbacks.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
Commit 70771d8b9e8dba857bce39eee8f5d10ecc17d00f by johannes
[Utils] Allow update_test_checks to scrub attribute annotations
Attribute annotations on calls, e.g., #0, are not useful on their own.
This patch adds a flag to update_test_checks.py to scrub them.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D68851
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/scrub_attrs.test
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll.scrub.expected
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll.plain.expected
The file was modifiedllvm/utils/update_test_checks.py
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/scrub_attrs.ll
Commit be26bd55130b6b13c40d0cf0ba97bf5cf3197487 by johannes
[Utils] Reuse argument variable names in the body
If we have `int foo(int a) { return a; }` and we run with
--function-signature enabled, we want a single variable declaration for
`a` which is reused later.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D69722
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/basic.ll.funcsig.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/argument_name_reuse.test
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll.plain.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll.expected
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll
Commit a36a89dcdcfc70de09693e62939009aaa0e52dd5 by shengchen.kan
 [NFC] Style cleanup
1. make function Is16BitMemOperand static 2. Use Doxygen features in
comment 3. Rename functions to make them start with a lower case letter
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 4a6413cd0a8d6bf24a2c67800179e3990ca50a84 by johannes
[Utils][Fix] Minor test result change
The file was modifiedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/argument_name_reuse.ll.expected
Commit e898ba2d151d621dcfc35828aad6fcded5a554e8 by craig.topper
[X86] Slightly improve our attempted error recovery for 64-bit -mno-sse2
in LowerCallResult to use FP1 if there are two return values.
If the return value is a struct of 2 doubles we need two return
registers.
If SSE2 is disabled we can't return in XMM registers like the ABI says.
After logging an error we attempt to recover by using FP0 instead of an
XMM register. But if the return needs two registers, we may have already
used FP0. So if the register we were supposed to copy to is XMM1, copy
to FP1 in the recovery instead.
This seems to fix the assertion/crash in PR44413.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 751336340dabc58f178a24f7b169f33366316f70 by johannes
[Attributor] Function signature rewrite infrastructure
As part of the Attributor manifest we want to change the signature of
functions. This patch introduces a fairly generic interface to do so. As
a first, very simple, use case, we remove unused arguments. A second use
case, pointer privatization, will be committed with this patch as well.
A lot of the code and ideas are taken from argument promotion and we run
all argument promotion tests through this framework as well.
Reviewed By: uenoku
Differential Revision: https://reviews.llvm.org/D68765
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/nonzero-address-spaces.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/Attributor/nonnull.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr27568.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/reserve-tbaa.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow.ll
The file was modifiedllvm/test/Transforms/Attributor/noalias.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/dbg.ll
Commit a6c59e0792edc46df937b338fe0e68d00cabf90b by johannes
[Utils] Deal with occasionally deleted functions
When functions exist for some but not all run lines we need to be
careful when selecting the prefix. So far, a common prefix was
potentially chosen as there was never a "conflict" that would have
caused otherwise. With this patch we avoid common prefixes if they are
used by run lines that do not emit the function.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D68850
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/sometimes_deleted_function.ll.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/sometimes_deleted_function.ll
The file was addedllvm/test/tools/UpdateTestChecks/update_test_checks/sometimes_deleted_function.test
The file was modifiedllvm/utils/UpdateTestChecks/common.py
Commit 4f82af81a04d711721300f6ca32f402f2ea6faf4 by ibiryukov
[Attributor] Suppress unused warnings when assertions are disabled. NFC
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit e8c9110b56b516a22b41e95e347bc141814ab87c by sylvestre
clang-tidy doc: modernize-make-unique has an autofix
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
Commit d04e64a25a58f63af862df9fa305723560d5fded by nikita.ppv
[InstCombine] Add tests for PR44242
Differential Revision: https://reviews.llvm.org/D71260
The file was addedllvm/test/Transforms/InstCombine/pr44242.ll
Commit fb114694e939c0204ac356fc0e830332175cd008 by nikita.ppv
[InstCombine] Don't rewrite phi-of-bitcast when the phi has other users
Judging by the existing comments, this was the intention, but the
transform never actually checked if the existing phi's would be removed.
See https://bugs.llvm.org/show_bug.cgi?id=44242 for an example where
this causes much worse code generation on AMDGPU.
Differential Revision: https://reviews.llvm.org/D71209
The file was modifiedllvm/test/Transforms/InstCombine/pr44242.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 0c7ca82161b519856bb1d54e181b578dc067cd3e by michael.platings
Fix external-names.c test when separator is \\
This fixes the following failure:
C:\[...]\llvm\tools\clang\test\VFS\external-names.c:34:26: error:
CHECK-DEBUG-EXTERNAL: expected string not found in input
// CHECK-DEBUG-EXTERNAL: ![[Num]] = !DIFile(filename:
"{{[^"]*}}Inputs{{.}}external-names.h"
                        ^
[...]
<stdin>:42:54: note: possible intended match here
!10 = !DIFile(filename:
"C:/[...]\\llvm\\tools\\clang\\test\\VFS\\Inputs\\external-names.h",
directory: "")
Differential Revision: https://reviews.llvm.org/D71991
The file was modifiedclang/test/VFS/external-names.c
Commit b409f73e1fd8e498a2bff4208eeadf023959a0f7 by sam.parker
[ARM][TypePromotion] Re-enable by default
Re-enable the pass after it was reverted and the bug fixed.
The file was modifiedllvm/lib/CodeGen/TypePromotion.cpp
Commit c7dc4734d23f45f576ba5af2aae5be9dfa2d3643 by Milos.Stojanovic
[llvm-exegesis] Check counters before running
Check if the appropriate counters for the specified mode are defined on
the target. This is checked before any other work is done.
Differential Revision: https://reviews.llvm.org/D71927
The file was modifiedllvm/tools/llvm-exegesis/lib/Latency.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp
Commit f5b7dd3c9ec041480d28d203f22929f0f0809d6e by ntv
[mlir][Linalg] Delete unused LinalgLibraryOps.td
Summary: This has been previously renamed to LinalgStructuredOps.td
Reviewers: ftynse
Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen,
antiagainst, llvm-commits, ftynse
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72013
The file was removedmlir/include/mlir/Dialect/Linalg/IR/LinalgLibraryOps.td
Commit 27a0795943fee0f30b995fe5165428afc2dfd402 by nikita.ppv
[InstCombine] Fix infinite loop due to bitcast <-> phi transforms
Fix for https://bugs.llvm.org/show_bug.cgi?id=44245.
The optimizeBitCastFromPhi() and FoldPHIArgOpIntoPHI() end up fighting
against each other, because optimizeBitCastFromPhi() assumes that
bitcasts of loads will get folded. This doesn't happen here, because a
dangling phi node prevents the one-use fold in
https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp#L620-L628
from triggering.
This patch fixes the issue by adding manually removing the old phis.
Differential Revision: https://reviews.llvm.org/D71164
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was addedllvm/test/Transforms/InstCombine/pr44245.ll
Commit 108645cd0ad39bcc577e31fd9876863422a9a2ba by spatel
[InstCombine] add tests for masked bit set/clear; NFC
The file was modifiedllvm/test/Transforms/InstCombine/zext.ll
Commit e6bdecf1cd6b75222ef094371a514026d8aa0afa by spatel
[AArch64] add test for fsub+fneg; NFC
D72015 proposes to restrict the current behavior.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fp.ll
Commit ff429c5eaf79529aacdc15582c90c0915080e082 by sven.vanhaastregt
[OpenCL] Remove redundant foreach in OpenCLBuiltins.td; NFC
Remove various `foreach` declarations where the iterator is used only
once.  This makes the .td file more compact.
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td