FailedChanges

Summary

  1. AMDGPU: Add baseline test for future patch
  2. AMDGPU: Replace shrunk instruction with dummy implicit_def This was broken if the original operand was killed. The kill flag would appear on both instructions, and fail the verifier. Keep the kill flag, but remove the operands from the old instruction. This has an added benefit of really reducing the use count for future folds. Ideally the pass would be structured more like what PeepholeOptimizer does to avoid this hack to avoid breaking instruction iterators.
  3. [TargetLowering] ShrinkDemandedConstant - reduce scope of TLO.DAG variable. NFCI. Only ever used in one block
  4. [X86] Remove repeated variables. NFCI.
  5. gn build: Merge r359878
  6. Let --discard-all imply --strip-debug. This will match gnu strip's behavior. Differential Revision: https://reviews.llvm.org/D61092
  7. [X86] Add X64 common prefixes and regenerate mul i64 tests Noticed while reviewing D61472
  8. AMDGPU: Forgot to commit test file for r358890
  9. Avoid cppcheck operator precedence warnings. NFCI. Prefer ((X & Y) ? A : B) to (X & Y ? A : B)
  10. AMDGPU: Fix incorrect commute with sub when folding immediates When a fold of an immediate into a sub/subrev required shrinking the instruction, the wrong VOP2 opcode was used. This was using the VOP2 equivalent of the original instruction, not the commuted instruction with the inverted opcode.
  11. AMDGPU: Fix test verification This should run the verifier, and needs to enable trackRegLiveness.
Revision 359893 by arsenm:
AMDGPU: Add baseline test for future patch
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/AMDGPU/fold-fi-operand-shrink.mirtrunk/test/CodeGen/AMDGPU/fold-fi-operand-shrink.mir
Revision 359891 by arsenm:
AMDGPU: Replace shrunk instruction with dummy implicit_def

This was broken if the original operand was killed. The kill flag
would appear on both instructions, and fail the verifier. Keep the
kill flag, but remove the operands from the old instruction. This has
an added benefit of really reducing the use count for future folds.

Ideally the pass would be structured more like what PeepholeOptimizer
does to avoid this hack to avoid breaking instruction iterators.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFoldOperands.cpptrunk/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mirtrunk/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mir
Revision 359890 by rksimon:
[TargetLowering] ShrinkDemandedConstant - reduce scope of TLO.DAG variable. NFCI.

Only ever used in one block
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpptrunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Revision 359889 by rksimon:
[X86] Remove repeated variables. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
Revision 359888 by nico:
gn build: Merge r359878
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/tools/llvm-readobj/BUILD.gntrunk/utils/gn/secondary/llvm/tools/llvm-readobj/BUILD.gn
Revision 359887 by sidneym:
Let --discard-all imply --strip-debug.

This will match gnu strip's behavior.

Differential Revision: https://reviews.llvm.org/D61092
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-objcopy/ELF/discard-all-debug.testtrunk/test/tools/llvm-objcopy/ELF/discard-all-debug.test
The file was modified/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpptrunk/tools/llvm-objcopy/CopyConfig.cpp
Revision 359886 by rksimon:
[X86] Add X64 common prefixes and regenerate mul i64 tests

Noticed while reviewing D61472
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/mul-constant-i64.lltrunk/test/CodeGen/X86/mul-constant-i64.ll
Revision 359885 by arsenm:
AMDGPU: Forgot to commit test file for r358890
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mirtrunk/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
Revision 359884 by rksimon:
Avoid cppcheck operator precedence warnings. NFCI.

Prefer ((X & Y) ? A : B) to (X & Y ? A : B)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Bitcode/Reader/MetadataLoader.cpptrunk/lib/Bitcode/Reader/MetadataLoader.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpptrunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.cpptrunk/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/Utils/X86ShuffleDecode.cpptrunk/lib/Target/X86/Utils/X86ShuffleDecode.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpptrunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/tools/llvm-stress/llvm-stress.cpptrunk/tools/llvm-stress/llvm-stress.cpp
Revision 359883 by arsenm:
AMDGPU: Fix incorrect commute with sub when folding immediates

When a fold of an immediate into a sub/subrev required shrinking the
instruction, the wrong VOP2 opcode was used. This was using the VOP2
equivalent of the original instruction, not the commuted instruction
with the inverted opcode.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFoldOperands.cpptrunk/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mirtrunk/test/CodeGen/AMDGPU/fold-immediate-operand-shrink.mir
Revision 359882 by arsenm:
AMDGPU: Fix test verification

This should run the verifier, and needs to enable trackRegLiveness.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/fold-imm-copy.mirtrunk/test/CodeGen/AMDGPU/fold-imm-copy.mir