FailedChanges

Summary

  1. [Instrumentation][NFC] Fix warning. lib/Transforms/Instrumentation/AddressSanitizer.cpp:1173:29: warning: extra ‘;’ [-Wpedantic]
  2. [Builtins] Treat `bcmp` as a builtin. Summary: This makes it consistent with `memcmp` and `__builtin_bcmp`. Also see the discussion in https://reviews.llvm.org/D56593. Reviewers: jyknight Subscribers: kristina, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58120
  3. [MIPS GlobalISel] Select branch instructions Select G_BR and G_BRCOND for MIPS32. Unconditional branch G_BR does not have register operand, for that reason we only add tests. Since conditional branch G_BRCOND compares register to zero on MIPS32, explicit extension must be performed on i1 condition in order to set high bits to appropriate value. Differential Revision: https://reviews.llvm.org/D58182
  4. Make widenable condition transparent for MemoryWriteTracking Side effects of widenable condition intrinsic are modelled via InaccessibleMemOnly, and there is no way to say that it isn't really writing any memory. This patch teaches MemoryWriteTracking ignore this intrinsic.
  5. Teach isGuaranteedToTransferExecutionToSuccessor about widenable conditions Widenable condition intrinsic is guaranteed to return value, notify the isGuaranteedToTransferExecutionToSuccessor function about it.
  6. Fix an accidentally flipped pair of arguments, NFCI While rebasing a refactor in r353950 I accidentally swapped two function arguments; one is SelectionDAGBuilders "current" DebugLoc, the other is the one from the "current" debug intrinsic. They're probably always identical, but I haven't proved that yet.
  7. [ARM] Ensure we update the correct flags in the peephole optimiser The Arm peephole optimiser code keeps track of both an MI and a SubAdd that can be used to optimise away a CMP. In the rare case that both are found and not ruled-out as valid, we could end up setting the flags on the wrong one. Instead make sure we are using SubAdd if it exists, as it will be closer to the CMP. The testcase here is a little theoretical, with a dead def of cpsr. It should hopefully show the point. Differential Revision: https://reviews.llvm.org/D58176
  8. [Support] Fix TempFile::discard to not leave behind temporary files Moved the remove of the temporary file to after the close to avoid remove failures caused by ETXTBSY errors. This issue was seen when FileOutputBuffer falls back to an in memory buffer due to the inability to mmap the on disk file. This occurred when running LLD on an Ubuntu VM in VirtualBox on a Windows host attempting to write the output to a VirtualBox shared folder. Differential Revision: https://reviews.llvm.org/D57960
  9. Revert "Temporarily disable calls to getgrnam/getgrnam_r in test due to it hitting unrelated issues in EGLIBC 2.19." This reverts commit r353594. We have updated our internal build bot to a newer version of LIBC which does not have this problem.
  10. [NFC] Refactor LICM code for better readability
  11. [llvm-readobj][test] Add all GNU_PROPERTY_X86_FEATURE_2_{NEEDED,USED} bits And delete trailing whitespace
  12. Print a note to the called macro when diagnosing err_embedded_directive Fixes PR40713, see there for the motivation for this. Differential Revision: https://reviews.llvm.org/D58161
  13. [NewPM] Add explicit triple to test This prevents warnings like: > warning: overriding the module target triple with x86_64-apple-darwin on macOS.
  14. Relax test to check for a valid number instead of a specific number to be like every other check in this test.
Revision 354024 by courbet:
[Instrumentation][NFC] Fix warning.

lib/Transforms/Instrumentation/AddressSanitizer.cpp:1173:29: warning: extra ‘;’ [-Wpedantic]
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (diff)llvm.src/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Revision 354023 by courbet:
[Builtins] Treat `bcmp` as a builtin.

Summary:
This makes it consistent with `memcmp` and `__builtin_bcmp`.

Also see the discussion in https://reviews.llvm.org/D56593.

Reviewers: jyknight

Subscribers: kristina, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D58120
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Builtins.def (diff)clang.src/include/clang/Basic/Builtins.def
The file was modified/cfe/trunk/lib/AST/Decl.cpp (diff)clang.src/lib/AST/Decl.cpp
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cpp (diff)clang.src/lib/Sema/SemaChecking.cpp
The file was modified/cfe/trunk/test/Analysis/bstring.c (diff)clang.src/test/Analysis/bstring.c
The file was modified/cfe/trunk/test/Analysis/security-syntax-checks.m (diff)clang.src/test/Analysis/security-syntax-checks.m
The file was modified/cfe/trunk/test/SemaCXX/constexpr-string.cpp (diff)clang.src/test/SemaCXX/constexpr-string.cpp
The file was modified/cfe/trunk/test/SemaCXX/warn-bad-memaccess.cpp (diff)clang.src/test/SemaCXX/warn-bad-memaccess.cpp
Revision 354022 by petar.avramovic:
[MIPS GlobalISel] Select branch instructions

Select G_BR and G_BRCOND for MIPS32.
Unconditional branch G_BR does not have register operand,
for that reason we only add tests.
Since conditional branch G_BRCOND compares register to zero on MIPS32,
explicit extension must be performed on i1 condition in order to set
high bits to appropriate value.

Differential Revision: https://reviews.llvm.org/D58182
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsInstructionSelector.cpp (diff)llvm.src/lib/Target/Mips/MipsInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsLegalizerInfo.cpp (diff)llvm.src/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsRegisterBankInfo.cpp (diff)llvm.src/lib/Target/Mips/MipsRegisterBankInfo.cpp
The file was added/llvm/trunk/test/CodeGen/Mips/GlobalISel/instruction-select/branch.mirllvm.src/test/CodeGen/Mips/GlobalISel/instruction-select/branch.mir
The file was added/llvm/trunk/test/CodeGen/Mips/GlobalISel/legalizer/branch.mirllvm.src/test/CodeGen/Mips/GlobalISel/legalizer/branch.mir
The file was added/llvm/trunk/test/CodeGen/Mips/GlobalISel/llvm-ir/branch.llllvm.src/test/CodeGen/Mips/GlobalISel/llvm-ir/branch.ll
The file was added/llvm/trunk/test/CodeGen/Mips/GlobalISel/regbankselect/branch.mirllvm.src/test/CodeGen/Mips/GlobalISel/regbankselect/branch.mir
Revision 354021 by mkazantsev:
Make widenable condition transparent for MemoryWriteTracking

Side effects of widenable condition intrinsic are modelled via
InaccessibleMemOnly, and there is no way to say that it isn't
really writing any memory. This patch teaches MemoryWriteTracking
ignore this intrinsic.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionPrecedenceTracking.cpp (diff)llvm.src/lib/Analysis/InstructionPrecedenceTracking.cpp
Revision 354020 by mkazantsev:
Teach isGuaranteedToTransferExecutionToSuccessor about widenable conditions

Widenable condition intrinsic is guaranteed to return value, notify
the isGuaranteedToTransferExecutionToSuccessor function about it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpp (diff)llvm.src/lib/Analysis/ValueTracking.cpp
Revision 354019 by jmorse:
Fix an accidentally flipped pair of arguments, NFCI

While rebasing a refactor in r353950 I accidentally swapped two function
arguments; one is SelectionDAGBuilders "current" DebugLoc, the other is the one
from the "current" debug intrinsic. They're probably always identical, but I
haven't proved that yet.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Revision 354018 by dmgreen:
[ARM] Ensure we update the correct flags in the peephole optimiser

The Arm peephole optimiser code keeps track of both an MI and a SubAdd that can
be used to optimise away a CMP. In the rare case that both are found and not
ruled-out as valid, we could end up setting the flags on the wrong one.

Instead make sure we are using SubAdd if it exists, as it will be closer to the
CMP.

The testcase here is a little theoretical, with a dead def of cpsr. It should
hopefully show the point.

Differential Revision: https://reviews.llvm.org/D58176
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (diff)llvm.src/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/Thumb2/peephole-addsub.mirllvm.src/test/CodeGen/Thumb2/peephole-addsub.mir
Revision 354017 by anng:
[Support] Fix TempFile::discard to not leave behind temporary files

Moved the remove of the temporary file to after the close to avoid
remove failures caused by ETXTBSY errors.

This issue was seen when FileOutputBuffer falls back to an in memory
buffer due to the inability to mmap the on disk file. This occurred when
running LLD on an Ubuntu VM in VirtualBox on a Windows host attempting
to write the output to a VirtualBox shared folder.

Differential Revision: https://reviews.llvm.org/D57960
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/Path.cpp (diff)llvm.src/lib/Support/Path.cpp
Revision 354014 by dyung:
Revert "Temporarily disable calls to getgrnam/getgrnam_r in test due to it hitting unrelated issues in EGLIBC 2.19."

This reverts commit r353594.

We have updated our internal build bot to a newer version of LIBC which does not have this problem.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/sanitizer_common/TestCases/Posix/getpw_getgr.cc (diff)compiler-rt.src/test/sanitizer_common/TestCases/Posix/getpw_getgr.cc
Revision 354013 by mkazantsev:
[NFC] Refactor LICM code for better readability
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cpp (diff)llvm.src/lib/Transforms/Scalar/LICM.cpp
Revision 354011 by maskray:
[llvm-readobj][test] Add all GNU_PROPERTY_X86_FEATURE_2_{NEEDED,USED} bits

And delete trailing whitespace
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/note-gnu-property.s (diff)llvm.src/test/tools/llvm-readobj/note-gnu-property.s
Revision 354009 by nico:
Print a note to the called macro when diagnosing err_embedded_directive

Fixes PR40713, see there for the motivation for this.

Differential Revision: https://reviews.llvm.org/D58161
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (diff)clang.src/include/clang/Basic/DiagnosticLexKinds.td
The file was modified/cfe/trunk/include/clang/Lex/Preprocessor.h (diff)clang.src/include/clang/Lex/Preprocessor.h
The file was modified/cfe/trunk/lib/Lex/PPDirectives.cpp (diff)clang.src/lib/Lex/PPDirectives.cpp
The file was modified/cfe/trunk/lib/Lex/PPMacroExpansion.cpp (diff)clang.src/lib/Lex/PPMacroExpansion.cpp
The file was modified/cfe/trunk/lib/Lex/Preprocessor.cpp (diff)clang.src/lib/Lex/Preprocessor.cpp
The file was modified/cfe/trunk/test/Preprocessor/macro_arg_directive.c (diff)clang.src/test/Preprocessor/macro_arg_directive.c
Revision 354008 by thegameg:
[NewPM] Add explicit triple to test

This prevents warnings like:

> warning: overriding the module target triple with x86_64-apple-darwin

on macOS.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGen/asan-new-pm.ll (diff)clang.src/test/CodeGen/asan-new-pm.ll
Revision 354007 by dyung:
Relax test to check for a valid number instead of a specific number
to be like every other check in this test.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir