FailedChanges

Summary

  1. remove inalloca parameters in globalopt and simplify argpromotion Summary: Inalloca parameters require special handling in some optimizations. This change causes globalopt to strip the inalloca attribute from function parameters when it is safe to do so, removes the special handling for inallocas from argpromotion, and replaces it with a simple check that causes argpromotion to skip functions that receive inallocas (for when the pass is invoked on code that didn't run through globalopt first). This also avoids a case where argpromotion would incorrectly try to pass an inalloca in a register. Fixes PR41658. Reviewers: rnk, efriedma Reviewed By: rnk Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61286
  2. [FileCheck] Fix line-count.txt test Summary: Enable currently skipped diagnostic test and fix column number Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: JonChesterfield, rogfer01, hfinkel, kristina, rnk, tra, arichardson, grimar, dblaikie, probinson, llvm-commits, hiraditya Tags: #llvm Differential Revision: https://reviews.llvm.org/D61320
  3. FileCheck [4/12]: Introduce @LINE numeric expressions Summary: This patch is part of a patch series to add support for FileCheck numeric expressions. This specific patch introduces the @LINE numeric expressions. This commit introduces a new syntax to express a relation a numeric value in the input text must have with the line number of a given CHECK pattern: [[#<@LINE numeric expression>]]. Further commits build on that to express relations between several numeric values in the input text. To help with naming, regular variables are renamed into pattern variables and old @LINE expression syntax is referred to as legacy numeric expression. Compared to existing @LINE expressions, this new syntax allow arbitrary spacing between the component of the expression. It offers otherwise the same functionality but the commit serves to introduce some of the data structure needed to support more general numeric expressions. Copyright: - Linaro (changes up to diff 183612 of revision D55940) - GraphCore (changes in later versions of revision D55940 and in new revision created off D55940) Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield Tags: #llvm Differential Revision: https://reviews.llvm.org/D60384
  4. Revert r359717, "Make check-clang depend on the clang-check binary always" The Tooling tests do have a lit.local.cfg with if not config.root.clang_staticanalyzer: config.unsupported = True so what's wrong isn't the missing dep, but that lit prints a warning for the binary missing. This will need a different kind of fix.
  5. Fix erroneous flag in GISel line for arm64-fast-isel-materialize.ll Accidentally put a fast-isel-abort=2 instead of the GISel abort line. This test doesn't actually fall back at all for GISel though, so remove the fallback checks entirely.
  6. [PGO][CHR] A bug fix. Summary: Fix a transformation bug where two scopes share a common instrution to hoist. Reviewers: davidxl Reviewed By: davidxl Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D61405
  7. [ORC] Pass object buffer ownership back in NotifyEmitted. Clients who want to regain ownership of object buffers after they have been linked may now use the NotifyEmitted callback for this purpose. Note: Currently NotifyEmitted is only called if linking succeeds. If linking fails the buffer is always discarded.
  8. [GlobalISel][AArch64] Use fmov for G_FCONSTANT when possible This adds support for using fmov rather than a standard mov to materialize G_FCONSTANT when it's safe to do so. Update arm64-fast-isel-materialize.ll and select-constant.mir to show that the selection is correct.
Revision 359743 by inglorion:
remove inalloca parameters in globalopt and simplify argpromotion

Summary:
Inalloca parameters require special handling in some optimizations.
This change causes globalopt to strip the inalloca attribute from
function parameters when it is safe to do so, removes the special
handling for inallocas from argpromotion, and replaces it with a
simple check that causes argpromotion to skip functions that receive
inallocas (for when the pass is invoked on code that didn't run
through globalopt first). This also avoids a case where argpromotion
would incorrectly try to pass an inalloca in a register.

Fixes PR41658.

Reviewers: rnk, efriedma

Reviewed By: rnk

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61286
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpptrunk/lib/Transforms/IPO/ArgumentPromotion.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/GlobalOpt.cpptrunk/lib/Transforms/IPO/GlobalOpt.cpp
The file was added/llvm/trunk/test/Transforms/ArgumentPromotion/X86/thiscall.lltrunk/test/Transforms/ArgumentPromotion/X86/thiscall.ll
The file was modified/llvm/trunk/test/Transforms/ArgumentPromotion/inalloca.lltrunk/test/Transforms/ArgumentPromotion/inalloca.ll
The file was modified/llvm/trunk/test/Transforms/GlobalOpt/fastcc.lltrunk/test/Transforms/GlobalOpt/fastcc.ll
Revision 359742 by thopre:
[FileCheck] Fix line-count.txt test

Summary: Enable currently skipped diagnostic test and fix column number

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

Subscribers: JonChesterfield, rogfer01, hfinkel, kristina, rnk, tra, arichardson, grimar, dblaikie, probinson, llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61320
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/FileCheck/line-count.txttrunk/test/FileCheck/line-count.txt
Revision 359741 by thopre:
FileCheck [4/12]: Introduce @LINE numeric expressions

Summary:
This patch is part of a patch series to add support for FileCheck
numeric expressions. This specific patch introduces the @LINE numeric
expressions.

This commit introduces a new syntax to express a relation a numeric
value in the input text must have with the line number of a given CHECK
pattern: [[#<@LINE numeric expression>]]. Further commits build on that
to express relations between several numeric values in the input text.
To help with naming, regular variables are renamed into pattern
variables and old @LINE expression syntax is referred to as legacy
numeric expression.

Compared to existing @LINE expressions, this new syntax allow arbitrary
spacing between the component of the expression. It offers otherwise the
same functionality but the commit serves to introduce some of the data
structure needed to support more general numeric expressions.

Copyright:
    - Linaro (changes up to diff 183612 of revision D55940)
    - GraphCore (changes in later versions of revision D55940 and
                 in new revision created off D55940)

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

Subscribers: hiraditya, llvm-commits, probinson, dblaikie, grimar, arichardson, tra, rnk, kristina, hfinkel, rogfer01, JonChesterfield

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60384
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/FileCheck.rsttrunk/docs/CommandGuide/FileCheck.rst
The file was modified/llvm/trunk/include/llvm/Support/FileCheck.htrunk/include/llvm/Support/FileCheck.h
The file was modified/llvm/trunk/lib/Support/FileCheck.cpptrunk/lib/Support/FileCheck.cpp
The file was modified/llvm/trunk/test/FileCheck/line-count.txttrunk/test/FileCheck/line-count.txt
The file was modified/llvm/trunk/unittests/Support/FileCheckTest.cpptrunk/unittests/Support/FileCheckTest.cpp
Revision 359739 by nico:
Revert r359717, "Make check-clang depend on the clang-check binary always"

The Tooling tests do have a lit.local.cfg with

    if not config.root.clang_staticanalyzer:
        config.unsupported = True

so what's wrong isn't the missing dep, but that lit prints a warning for
the binary missing. This will need a different kind of fix.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CMakeLists.txtN/A
The file was modified/llvm/trunk/utils/gn/secondary/clang/test/BUILD.gntrunk/utils/gn/secondary/clang/test/BUILD.gn
Revision 359737 by paquette:
Fix erroneous flag in GISel line for arm64-fast-isel-materialize.ll

Accidentally put a fast-isel-abort=2 instead of the GISel abort line.

This test doesn't actually fall back at all for GISel though, so remove the
fallback checks entirely.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-materialize.lltrunk/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll
Revision 359736 by yamauchi:
[PGO][CHR] A bug fix.

Summary: Fix a transformation bug where two scopes share a common instrution to hoist.

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D61405
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpptrunk/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
The file was modified/llvm/trunk/test/Transforms/PGOProfile/chr.lltrunk/test/Transforms/PGOProfile/chr.ll
Revision 359735 by Lang Hames:
[ORC] Pass object buffer ownership back in NotifyEmitted.

Clients who want to regain ownership of object buffers after they have been
linked may now use the NotifyEmitted callback for this purpose.

Note: Currently NotifyEmitted is only called if linking succeeds. If linking
fails the buffer is always discarded.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.htrunk/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
The file was modified/llvm/trunk/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpptrunk/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp
Revision 359734 by paquette:
[GlobalISel][AArch64] Use fmov for G_FCONSTANT when possible

This adds support for using fmov rather than a standard mov to materialize
G_FCONSTANT when it's safe to do so.

Update arm64-fast-isel-materialize.ll and select-constant.mir to show that the
selection is correct.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpptrunk/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-constant.mirtrunk/test/CodeGen/AArch64/GlobalISel/select-constant.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-materialize.lltrunk/test/CodeGen/AArch64/arm64-fast-isel-materialize.ll

Summary

  1. Consume unexpected "template" keywords after "using" The parser was dealing with unexpected "template" keywords after "using" keywords too late and putting the parser into the wrong state, which could lead to a crash down the line. This change allows the parser to consume the bad "template" keywords earlier, and continue parsing as if "template" was never there to begin with for better error recovery.
  2. Revert r359717, "Make check-clang depend on the clang-check binary always" The Tooling tests do have a lit.local.cfg with if not config.root.clang_staticanalyzer: config.unsupported = True so what's wrong isn't the missing dep, but that lit prints a warning for the binary missing. This will need a different kind of fix.
  3. [analyzer] Fix buildbot failures caused by a forgotten initialization
Revision 359740 by rtrieu:
Consume unexpected "template" keywords after "using"

The parser was dealing with unexpected "template" keywords after "using"
keywords too late and putting the parser into the wrong state, which could
lead to a crash down the line.  This change allows the parser to consume the
bad "template" keywords earlier, and continue parsing as if "template" was
never there to begin with for better error recovery.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.tdtrunk/include/clang/Basic/DiagnosticParseKinds.td
The file was modified/cfe/trunk/lib/Parse/ParseDeclCXX.cpptrunk/lib/Parse/ParseDeclCXX.cpp
The file was added/cfe/trunk/test/Parser/using-template.cpptrunk/test/Parser/using-template.cpp
Revision 359739 by nico:
Revert r359717, "Make check-clang depend on the clang-check binary always"

The Tooling tests do have a lit.local.cfg with

    if not config.root.clang_staticanalyzer:
        config.unsupported = True

so what's wrong isn't the missing dep, but that lit prints a warning for
the binary missing. This will need a different kind of fix.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CMakeLists.txttrunk/test/CMakeLists.txt
The file was modified/llvm/trunk/utils/gn/secondary/clang/test/BUILD.gnN/A
Revision 359727 by szelethus:
[analyzer] Fix buildbot failures caused by a forgotten initialization
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.htrunk/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h

Summary

  1. [compiler-rt][tests] Propagate COMPILER_RT_UNITTEST_LINK_FLAGS `COMPILER_RT_UNITTEST_LINK_FLAGS` is dropped in many places, unlike `COMPILER_RT_UNITTEST_CFLAGS`. This patch attempts to remove that inconsistency. Previously reviewed as part of D58951. Reviewers: sfertile, peter.smith, pzheng, phosek, Hahnfeld, nemanjai, jasonliu Reviewed By: sfertile Subscribers: jsji, kubamracek, dberris, mgorny, delcypher, jdoerfert, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D60143
  2. [tsan] Fix and re-enable user_malloc.cc test Summary: no_sanitize_thread is not enough as it still puts some tsan instrumentation Reviewers: eugenis Subscribers: kubamracek, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D61393
  3. [sanitizer][NFC] Remove unneeded SizeClassAllocatorLocalCache
  4. [sanitizer][NFC] Add const/static into a couple of methods
  5. [Sanitizer] Reland "Cleanup INTERCEPT_FUNCTION macro" On Linux both version of the INTERCEPT_FUNCTION macro now return true when interception was successful. Adapt and cleanup some usages. Also note that `&(func) == &WRAP(func)` is a link-time property, but we do a runtime check. Tested on Linux and macOS. Previous attempt reverted by: 5642c3feb03d020dc06a62e3dc54f3206a97a391 This attempt to bring order to the interceptor macro goes the other direction and aligns the Linux implementation with the way things are done on Windows. Reviewed By: vitalybuka, rnk Differential Revision: https://reviews.llvm.org/D61358
Revision 359733 by hubert.reinterpretcast:
[compiler-rt][tests] Propagate COMPILER_RT_UNITTEST_LINK_FLAGS

`COMPILER_RT_UNITTEST_LINK_FLAGS` is dropped in many places, unlike
`COMPILER_RT_UNITTEST_CFLAGS`. This patch attempts to remove that
inconsistency.

Previously reviewed as part of D58951.

Reviewers: sfertile, peter.smith, pzheng, phosek, Hahnfeld, nemanjai, jasonliu

Reviewed By: sfertile

Subscribers: jsji, kubamracek, dberris, mgorny, delcypher, jdoerfert, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D60143
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/interception/tests/CMakeLists.txttrunk/lib/interception/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/msan/tests/CMakeLists.txttrunk/lib/msan/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/sanitizer_common/tests/CMakeLists.txttrunk/lib/sanitizer_common/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/CMakeLists.txttrunk/lib/scudo/standalone/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/tsan/tests/CMakeLists.txttrunk/lib/tsan/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/xray/tests/CMakeLists.txttrunk/lib/xray/tests/CMakeLists.txt
Revision 359731 by Vitaly Buka:
[tsan] Fix and re-enable user_malloc.cc test

Summary: no_sanitize_thread is not enough as it still puts some tsan instrumentation

Reviewers: eugenis

Subscribers: kubamracek, #sanitizers, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D61393
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/tsan/Linux/user_malloc.cctrunk/test/tsan/Linux/user_malloc.cc
Revision 359729 by Vitaly Buka:
[sanitizer][NFC] Remove unneeded SizeClassAllocatorLocalCache
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_combined.htrunk/lib/sanitizer_common/sanitizer_allocator_combined.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_local_cache.htrunk/lib/sanitizer_common/sanitizer_allocator_local_cache.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_allocator_test.cctrunk/lib/sanitizer_common/tests/sanitizer_allocator_test.cc
Revision 359728 by Vitaly Buka:
[sanitizer][NFC] Add const/static into a couple of methods
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_primary32.htrunk/lib/sanitizer_common/sanitizer_allocator_primary32.h
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator_primary64.htrunk/lib/sanitizer_common/sanitizer_allocator_primary64.h
Revision 359725 by yln:
[Sanitizer] Reland "Cleanup INTERCEPT_FUNCTION macro"

On Linux both version of the INTERCEPT_FUNCTION macro now return true
when interception was successful. Adapt and cleanup some usages.

Also note that `&(func) == &WRAP(func)` is a link-time property, but we
do a runtime check.

Tested on Linux and macOS.

Previous attempt reverted by: 5642c3feb03d020dc06a62e3dc54f3206a97a391

This attempt to bring order to the interceptor macro goes the other
direction and aligns the Linux implementation with the way things are
done on Windows.

Reviewed By: vitalybuka, rnk

Differential Revision: https://reviews.llvm.org/D61358
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/asan/asan_interceptors.htrunk/lib/asan/asan_interceptors.h
The file was modified/compiler-rt/trunk/lib/interception/interception_linux.cctrunk/lib/interception/interception_linux.cc
The file was modified/compiler-rt/trunk/lib/interception/interception_linux.htrunk/lib/interception/interception_linux.h
The file was modified/compiler-rt/trunk/lib/interception/tests/interception_linux_test.cctrunk/lib/interception/tests/interception_linux_test.cc
The file was modified/compiler-rt/trunk/lib/msan/msan_interceptors.cctrunk/lib/msan/msan_interceptors.cc
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cctrunk/lib/tsan/rtl/tsan_interceptors.cc

Summary

  1. Add missing locale requirement to test. Linux is failing even though the test runner does report this locale is available, but the test still isn't expected to work on platforms without the locale (like Android).
Revision 359726 by danalbert:
Add missing locale requirement to test.

Linux is failing even though the test runner does report this locale
is available, but the test still isn't expected to work on platforms
without the locale (like Android).
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/re/re.alg/re.alg.match/awk.pass.cpptrunk/test/std/re/re.alg/re.alg.match/awk.pass.cpp