FailedChanges

Summary

  1. Temporarily Revert "[SLP] Recommit: Look-ahead operand reordering heuristic." As there are some reported miscompiles with AVX512 and performance regressions in Eigen. Verified with the original committer and testcases will be forthcoming. This reverts commit r364964.
  2. Revert "[NewPM] Port Sancov" This reverts commit 5652f35817f07b16f8b3856d594cc42f4d7ee29c.
  3. [DirectoryWatcher][linux] Fix for older kernels IN_EXCL_UNLINK exists since Linux 2.6.36 Differential Revision: https://reviews.llvm.org/D64764
  4. [X86] Teach convertToThreeAddress to handle SUB with immediate We mostly avoid sub with immediate but there are a couple cases that can create them. One is the add 128, %rax -> sub -128, %rax trick in isel. The other is when a SUB immediate gets created for a compare where both the flags and the subtract value is used. If we are unable to linearize the SelectionDAG to satisfy the flag user and the sub result user from the same instruction, we will clone the sub immediate for the two uses. The one that produces flags will eventually become a compare. The other will have its flag output dead, and could then be considered for LEA creation. I added additional test cases to add.ll to show the the sub -128 trick gets converted to LEA and a case where we don't need to convert it. This showed up in the current codegen for PR42571. Differential Revision: https://reviews.llvm.org/D64574
  5. [WebAssembly] Add missing utility methods for exnref type Summary: This adds missing utility methods and copy instruction handling for `exnref` type and also adds tests. `tee` instruction tests are missing because `isTee` is currently only used in ExplicitLocals pass and testing that pass in mir requires serialization of stackified registers in mir files, which is a bit nontrivial because `MachineFunctionInfo` only has info of vreg numbers (which are large integers) but not the mir's register numbers. But this change is quite trivial anyway. Reviewers: tlively Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64705
  6. [llvm-readelf] Print "File: lib.a(file.o)" info when dumping archive files. Match GNU readelf. https://bugs.llvm.org/show_bug.cgi?id=35351 Reviewers: jhenderson, grimar, MaskRay, rupprecht Reviewed by: jhenderson, MaskRay, grimar Differential Revision: https://reviews.llvm.org/D64361
Revision 366154 by echristo:
Temporarily Revert "[SLP] Recommit: Look-ahead operand reordering heuristic."

As there are some reported miscompiles with AVX512 and performance regressions
in Eigen. Verified with the original committer and testcases will be forthcoming.

This reverts commit r364964.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff)llvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modified/llvm/trunk/test/Transforms/SLPVectorizer/X86/lookahead.ll (diff)llvm.src/test/Transforms/SLPVectorizer/X86/lookahead.ll
Revision 366153 by leonardchan:
Revert "[NewPM] Port Sancov"

This reverts commit 5652f35817f07b16f8b3856d594cc42f4d7ee29c.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/BackendUtil.cpp (diff)clang.src/lib/CodeGen/BackendUtil.cpp
The file was removed/cfe/trunk/test/CodeGen/sancov-new-pm.cclang.src/test/CodeGen/sancov-new-pm.c
The file was modified/llvm/trunk/include/llvm/InitializePasses.h (diff)llvm.src/include/llvm/InitializePasses.h
The file was modified/llvm/trunk/include/llvm/Transforms/Instrumentation.h (diff)llvm.src/include/llvm/Transforms/Instrumentation.h
The file was removed/llvm/trunk/include/llvm/Transforms/Instrumentation/SanitizerCoverage.hllvm.src/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cpp (diff)llvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/lib/Passes/PassRegistry.def (diff)llvm.src/lib/Passes/PassRegistry.def
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/Instrumentation.cpp (diff)llvm.src/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/SanitizerCoverage.cpp (diff)llvm.src/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/abort-in-entry-block.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/abort-in-entry-block.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/backedge-pruning.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/backedge-pruning.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/chains.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/chains.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_32.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_64.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/cmp-tracing-api-x86_64.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/cmp-tracing.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/cmp-tracing.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/coff-comdat.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/coff-comdat.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/coff-pc-table-inline-8bit-counters.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/coff-pc-table-inline-8bit-counters.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/coff-used-ctor.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/coff-used-ctor.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/coverage-dbg.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/coverage-dbg.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/coverage.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/coverage.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/coverage2-dbg.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/coverage2-dbg.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/div-tracing.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/div-tracing.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/gep-tracing.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/gep-tracing.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/inline-8bit-counters.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/interposable-symbol-nocomdat.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/interposable-symbol-nocomdat.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/no-func.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/no-func.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/pc-table.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/pc-table.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/postdominator_check.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/postdominator_check.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/seh.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/seh.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/stack-depth-variable-declared-by-user.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/stack-depth-variable-declared-by-user.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/stack-depth.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/stack-depth.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/switch-tracing.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/switch-tracing.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/trace-pc-guard-comdat.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/trace-pc-guard-comdat.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/trace-pc-guard-inline-8bit-counters.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/trace-pc-guard-inline-8bit-counters.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/trace-pc-guard-nocomdat.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/trace-pc-guard-nocomdat.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/tracing-comdat.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/tracing.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/tracing.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/unreachable-critedge.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/unreachable-critedge.ll
The file was modified/llvm/trunk/test/Instrumentation/SanitizerCoverage/wineh.ll (diff)llvm.src/test/Instrumentation/SanitizerCoverage/wineh.ll
Revision 366152 by Jan Korous:
[DirectoryWatcher][linux] Fix for older kernels

IN_EXCL_UNLINK exists since Linux 2.6.36

Differential Revision: https://reviews.llvm.org/D64764
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp (diff)clang.src/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
Revision 366151 by ctopper:
[X86] Teach convertToThreeAddress to handle SUB with immediate

We mostly avoid sub with immediate but there are a couple cases that can create them. One is the add 128, %rax -> sub -128, %rax trick in isel. The other is when a SUB immediate gets created for a compare where both the flags and the subtract value is used. If we are unable to linearize the SelectionDAG to satisfy the flag user and the sub result user from the same instruction, we will clone the sub immediate for the two uses. The one that produces flags will eventually become a compare. The other will have its flag output dead, and could then be considered for LEA creation.

I added additional test cases to add.ll to show the the sub -128 trick gets converted to LEA and a case where we don't need to convert it.

This showed up in the current codegen for PR42571.

Differential Revision: https://reviews.llvm.org/D64574
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrArithmetic.td (diff)llvm.src/lib/Target/X86/X86InstrArithmetic.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (diff)llvm.src/lib/Target/X86/X86InstrInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/add.ll (diff)llvm.src/test/CodeGen/X86/add.ll
The file was modified/llvm/trunk/test/CodeGen/X86/bmi-intrinsics-fast-isel-x86_64.ll (diff)llvm.src/test/CodeGen/X86/bmi-intrinsics-fast-isel-x86_64.ll
The file was modified/llvm/trunk/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll (diff)llvm.src/test/CodeGen/X86/bmi-intrinsics-fast-isel.ll
The file was modified/llvm/trunk/test/CodeGen/X86/cgp-usubo.ll (diff)llvm.src/test/CodeGen/X86/cgp-usubo.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tbm-intrinsics-fast-isel-x86_64.ll (diff)llvm.src/test/CodeGen/X86/tbm-intrinsics-fast-isel-x86_64.ll
The file was modified/llvm/trunk/test/CodeGen/X86/tbm-intrinsics-fast-isel.ll (diff)llvm.src/test/CodeGen/X86/tbm-intrinsics-fast-isel.ll
Revision 366149 by aheejin:
[WebAssembly] Add missing utility methods for exnref type

Summary:
This adds missing utility methods and copy instruction handling for
`exnref` type and also adds tests.

`tee` instruction tests are missing because `isTee` is currently only
used in ExplicitLocals pass and testing that pass in mir requires
serialization of stackified registers in mir files, which is a bit
nontrivial because `MachineFunctionInfo` only has info of vreg numbers
(which are large integers) but not the mir's register numbers. But this
change is quite trivial anyway.

Reviewers: tlively

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64705
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h (diff)llvm.src/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/WebAssembly/reg-argument.mirllvm.src/test/CodeGen/WebAssembly/reg-argument.mir
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/reg-copy.mir (diff)llvm.src/test/CodeGen/WebAssembly/reg-copy.mir
Revision 366147 by yuanfang:
[llvm-readelf] Print "File: lib.a(file.o)" info when dumping archive files.

Match GNU readelf.

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

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Reviewed by: jhenderson, MaskRay, grimar

Differential Revision: https://reviews.llvm.org/D64361
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/archive.test (diff)llvm.src/test/tools/llvm-readobj/archive.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/elf-dynamic-malformed.test (diff)llvm.src/test/tools/llvm-readobj/elf-dynamic-malformed.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/macho-universal-x86_64.i386.test (diff)llvm.src/test/tools/llvm-readobj/macho-universal-x86_64.i386.test
The file was modified/llvm/trunk/test/tools/llvm-readobj/thin-archive-paths.test (diff)llvm.src/test/tools/llvm-readobj/thin-archive-paths.test
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (diff)llvm.src/tools/llvm-readobj/llvm-readobj.cpp