FailedChanges

Summary

  1. [TargetLowering] SimplifyDemandedBits - add EXTRACT_SUBVECTOR support. Call SimplifyDemandedBits on the source vector.
  2. [InstSimplify] simplifyUnsignedRangeCheck(): handle few tautological cases (PR43251) Summary: This is split off from D67356, since these cases produce a constant, no real need to keep them in instcombine. Alive proofs: https://rise4fun.com/Alive/u7Fk https://rise4fun.com/Alive/4lV https://bugs.llvm.org/show_bug.cgi?id=43251 Reviewers: spatel, nikic, xbolva00 Reviewed By: spatel Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67498
  3. [clang-scan-deps] Add -M to work around -MT issue after r371918 gcc will complain if -MT is used but neither -M nor -MM is specified: > cc1: error: to generate dependencies you must specify either -M or -MM r371918 changed our behavior to match GCC, but apparently clang-scan-deps is not happy.
  4. [Driver] Fix multiple bugs related to dependency file options: -M -MM -MD -MMD -MT -MQ -M -o test.i => dependency file is test.d, not test.i -MM -o test.i => dependency file is test.d, not test.i -M -MMD => bogus warning -Wunused-command-line-argument -M MT dummy => -w not rendered
  5. [Driver] Improve Clang::getDependencyFileName and its tests after rC371853 The test file name metadata-with-dots.c is confusing because -MD and -MMD have nothing to do with metadata.
  6. [ScheduleDAGMILive] Fix typo in comment. Differential Revision: https://reviews.llvm.org/D67478
  7. [Attributor][Fix] Use right type to replace expressions Summary: This should be obsolete once the functionality in D66967 is integrated. Reviewers: uenoku, sstefan1 Subscribers: hiraditya, bollu, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67231
  8. [llvm-objcopy] Ignore -B --binary-architecture= GNU objcopy documents that -B is only useful with architecture-less input (i.e. "binary" or "ihex"). After D67144, -O defaults to -I, and -B is essentially a NOP. * If -O is binary/ihex, GNU objcopy ignores -B. * If -O is elf*, -B provides the e_machine field in GNU objcopy. So to convert a blob to an ELF, `-I binary -B i386:x86-64 -O elf64-x86-64` has to be specified. `-I binary -B i386:x86-64 -O elf64-x86-64` creates an ELF with its e_machine field set to EM_NONE in GNU objcopy, but a regular x86_64 ELF in elftoolchain elfcopy. Follow the elftoolchain approach (ignoring -B) to simplify code. Users that expect their command line portable should specify -B. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D67215
  9. [llvm-objcopy] Default --output-target to --input-target when unspecified Fixes PR42171. In GNU objcopy, if -O (--output-target) is not specified, the value is copied from -I (--input-target). ``` objcopy -I binary -B i386:x86-64 a.txt b # b is copied from a.txt llvm-objcopy -I binary -B i386:x86-64 a.txt b # b is an x86-64 object file ``` This patch changes our behavior to match GNU. With this change, we can delete code related to -B handling (D67215). Reviewed By: jakehehrlich Differential Revision: https://reviews.llvm.org/D67144
  10. [llvm-ar] Uncapitalize error messages and delete full stop Most GNU binutils don't append full stops in error messages. This convention has been adopted by a bunch of LLVM binary utilities. Make llvm-ar follow the convention as well. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D67558
  11. [llvm-objcopy] Add support for response files in llvm-strip and llvm-objcopy Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=42671 Reviewers: jhenderson, espindola, alexshap, rupprecht Reviewed By: jhenderson Subscribers: seiya, emaste, arichardson, jakehehrlich, MaskRay, abrachet, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D65372
  12. Bugpoint: Remove some unnecessary c_str conversions on the journey to StringRef
Revision 371923 by rksimon:
[TargetLowering] SimplifyDemandedBits - add EXTRACT_SUBVECTOR support.

Call SimplifyDemandedBits on the source vector.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/vector-reduce-mul.ll (diff)llvm.src/test/CodeGen/X86/vector-reduce-mul.ll
Revision 371921 by lebedevri:
[InstSimplify] simplifyUnsignedRangeCheck(): handle few tautological cases (PR43251)

Summary:
This is split off from D67356, since these cases produce a constant,
no real need to keep them in instcombine.

Alive proofs:
https://rise4fun.com/Alive/u7Fk
https://rise4fun.com/Alive/4lV

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

Reviewers: spatel, nikic, xbolva00

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67498
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpp (diff)llvm.src/lib/Analysis/InstructionSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/InstSimplify/result-of-usub-is-non-zero-and-no-overflow.ll (diff)llvm.src/test/Transforms/InstSimplify/result-of-usub-is-non-zero-and-no-overflow.ll
Revision 371920 by maskray:
[clang-scan-deps] Add -M to work around -MT issue after r371918

gcc will complain if -MT is used but neither -M nor -MM is specified:

> cc1: error: to generate dependencies you must specify either -M or -MM

r371918 changed our behavior to match GCC, but apparently
clang-scan-deps is not happy.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/tools/clang-scan-deps/ClangScanDeps.cpp (diff)clang.src/tools/clang-scan-deps/ClangScanDeps.cpp
Revision 371918 by maskray:
[Driver] Fix multiple bugs related to dependency file options: -M -MM -MD -MMD -MT -MQ

-M -o test.i => dependency file is test.d, not test.i
-MM -o test.i => dependency file is test.d, not test.i
-M -MMD => bogus warning -Wunused-command-line-argument
-M MT dummy => -w not rendered
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
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/m-and-mm.c (diff)clang.src/test/Driver/m-and-mm.c
Revision 371917 by maskray:
[Driver] Improve Clang::getDependencyFileName and its tests after rC371853

The test file name metadata-with-dots.c is confusing because -MD and -MMD
have nothing to do with metadata.
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 added/cfe/trunk/test/Driver/m-and-mm.cclang.src/test/Driver/m-and-mm.c
The file was removed/cfe/trunk/test/Driver/m_and_mm.cclang.src/test/Driver/m_and_mm.c
The file was removed/cfe/trunk/test/Driver/metadata-with-dots.cclang.src/test/Driver/metadata-with-dots.c
Revision 371916 by xmj:
[ScheduleDAGMILive] Fix typo in comment.

Differential Revision: https://reviews.llvm.org/D67478
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineScheduler.cpp (diff)llvm.src/lib/CodeGen/MachineScheduler.cpp
Revision 371915 by jdoerfert:
[Attributor][Fix] Use right type to replace expressions

Summary: This should be obsolete once the functionality in D66967 is integrated.

Reviewers: uenoku, sstefan1

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67231
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/arg_returned.ll (diff)llvm.src/test/Transforms/FunctionAttrs/arg_returned.ll
Revision 371914 by maskray:
[llvm-objcopy] Ignore -B --binary-architecture=

GNU objcopy documents that -B is only useful with architecture-less
input (i.e. "binary" or "ihex"). After D67144, -O defaults to -I, and
-B is essentially a NOP.

* If -O is binary/ihex, GNU objcopy ignores -B.
* If -O is elf*, -B provides the e_machine field in GNU objcopy.

So to convert a blob to an ELF, `-I binary -B i386:x86-64 -O elf64-x86-64` has to be specified.

`-I binary -B i386:x86-64 -O elf64-x86-64` creates an ELF with its
e_machine field set to EM_NONE in GNU objcopy, but a regular x86_64 ELF
in elftoolchain elfcopy. Follow the elftoolchain approach (ignoring -B)
to simplify code. Users that expect their command line portable should
specify -B.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D67215
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-objcopy.rst (diff)llvm.src/docs/CommandGuide/llvm-objcopy.rst
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input-error.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/binary-input-error.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.h (diff)llvm.src/tools/llvm-objcopy/CopyConfig.h
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/ELFObjcopy.cpp (diff)llvm.src/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.cpp (diff)llvm.src/tools/llvm-objcopy/ELF/Object.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/ELF/Object.h (diff)llvm.src/tools/llvm-objcopy/ELF/Object.h
The file was modified/llvm/trunk/tools/llvm-objcopy/ObjcopyOpts.td (diff)llvm.src/tools/llvm-objcopy/ObjcopyOpts.td
Revision 371913 by maskray:
[llvm-objcopy] Default --output-target to --input-target when unspecified

Fixes PR42171.

In GNU objcopy, if -O (--output-target) is not specified, the value is
copied from -I (--input-target).

```
objcopy -I binary -B i386:x86-64 a.txt b       # b is copied from a.txt
llvm-objcopy -I binary -B i386:x86-64 a.txt b  # b is an x86-64 object file
```

This patch changes our behavior to match GNU. With this change, we can
delete code related to -B handling (D67215).

Reviewed By: jakehehrlich

Differential Revision: https://reviews.llvm.org/D67144
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input-and-output.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/binary-input-and-output.test
The file was removed/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input-arch.testllvm.src/test/tools/llvm-objcopy/ELF/binary-input-arch.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input-error.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/binary-input-error.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-input.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/binary-input.test
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/binary-output-target.testllvm.src/test/tools/llvm-objcopy/ELF/binary-output-target.test
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/new-symbol-visibility.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/new-symbol-visibility.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
Revision 371912 by maskray:
[llvm-ar] Uncapitalize error messages and delete full stop

Most GNU binutils don't append full stops in error messages. This
convention has been adopted by a bunch of LLVM binary utilities. Make
llvm-ar follow the convention as well.

Reviewed By: grimar

Differential Revision: https://reviews.llvm.org/D67558
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Object/archive-extract.test (diff)llvm.src/test/Object/archive-extract.test
The file was modified/llvm/trunk/test/Object/archive-format.test (diff)llvm.src/test/Object/archive-format.test
The file was modified/llvm/trunk/test/Object/archive-update.test (diff)llvm.src/test/Object/archive-update.test
The file was modified/llvm/trunk/test/Object/mri2.test (diff)llvm.src/test/Object/mri2.test
The file was modified/llvm/trunk/test/Object/mri3.test (diff)llvm.src/test/Object/mri3.test
The file was modified/llvm/trunk/test/Object/mri4.test (diff)llvm.src/test/Object/mri4.test
The file was modified/llvm/trunk/test/Object/mri5.test (diff)llvm.src/test/Object/mri5.test
The file was modified/llvm/trunk/test/tools/llvm-ar/count.test (diff)llvm.src/test/tools/llvm-ar/count.test
The file was modified/llvm/trunk/test/tools/llvm-ar/insert-after.test (diff)llvm.src/test/tools/llvm-ar/insert-after.test
The file was modified/llvm/trunk/test/tools/llvm-ar/insert-before.test (diff)llvm.src/test/tools/llvm-ar/insert-before.test
The file was modified/llvm/trunk/test/tools/llvm-ar/invalid-command-line.test (diff)llvm.src/test/tools/llvm-ar/invalid-command-line.test
The file was modified/llvm/trunk/test/tools/llvm-ar/move-after.test (diff)llvm.src/test/tools/llvm-ar/move-after.test
The file was modified/llvm/trunk/test/tools/llvm-ar/move-before.test (diff)llvm.src/test/tools/llvm-ar/move-before.test
The file was modified/llvm/trunk/test/tools/llvm-ar/move.test (diff)llvm.src/test/tools/llvm-ar/move.test
The file was modified/llvm/trunk/test/tools/llvm-ar/mri-addlib.test (diff)llvm.src/test/tools/llvm-ar/mri-addlib.test
The file was modified/llvm/trunk/test/tools/llvm-ar/print.test (diff)llvm.src/test/tools/llvm-ar/print.test
The file was modified/llvm/trunk/test/tools/llvm-ar/quick-append.test (diff)llvm.src/test/tools/llvm-ar/quick-append.test
The file was modified/llvm/trunk/test/tools/llvm-ar/read-only-archive.test (diff)llvm.src/test/tools/llvm-ar/read-only-archive.test
The file was modified/llvm/trunk/test/tools/llvm-ar/replace.test (diff)llvm.src/test/tools/llvm-ar/replace.test
The file was modified/llvm/trunk/tools/llvm-ar/llvm-ar.cpp (diff)llvm.src/tools/llvm-ar/llvm-ar.cpp
Revision 371911 by pozulp:
[llvm-objcopy] Add support for response files in llvm-strip and llvm-objcopy

Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=42671

Reviewers: jhenderson, espindola, alexshap, rupprecht

Reviewed By: jhenderson

Subscribers: seiya, emaste, arichardson, jakehehrlich, MaskRay, abrachet, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65372
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-objcopy.rst (diff)llvm.src/docs/CommandGuide/llvm-objcopy.rst
The file was modified/llvm/trunk/docs/CommandGuide/llvm-strip.rst (diff)llvm.src/docs/CommandGuide/llvm-strip.rst
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/help-message.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/help-message.test
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/response-file.testllvm.src/test/tools/llvm-objcopy/ELF/response-file.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (diff)llvm.src/tools/llvm-objcopy/CopyConfig.cpp
The file was modified/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp (diff)llvm.src/tools/llvm-objcopy/llvm-objcopy.cpp
Revision 371910 by dblaikie:
Bugpoint: Remove some unnecessary c_str conversions on the journey to StringRef
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/bugpoint/ToolRunner.cpp (diff)llvm.src/tools/bugpoint/ToolRunner.cpp