FailedChanges

Summary

  1. [ARM] Fix for NDEBUG builds Fix unused variable warning as well as a nonsense assert. Differential Revision: https://reviews.llvm.org/D63816
  2. [scudo][standalone] Potential fix for missing sized delete Summary: In some setups, using `-fsized-deallocation` would end up not finding a sized delete operator at link time. For now, avoid using the flag and declare the sized delete operator in the cpp test only. This is a tentative fix as I do not have the failing setup. Reviewers: rnk, morehouse, hctim, eugenis, vitalybuka Reviewed By: rnk, hctim Subscribers: mgorny, delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D64086
  3. [X86][AVX] Combine vpermi(bitcast(x)) -> bitcast(vpermi(x)) iff the number of elements doesn't change. This gets around an issue with combineX86ShuffleChain not being able to hint which domain is preferred for shuffles that can be done with either. Fixes regression introduced in rL365041
  4. [SelectionDAG] Propagate alias metadata to target intrinsic nodes When a target intrinsic has been determined to touch memory, we construct a MachineMemOperand during SDAG construction. In this case, we should propagate AAMDNodes metadata to the MachineMemOperand where available. Differential revision: https://reviews.llvm.org/D64131
  5. [docs][llvm-objcopy] Write documentation for llvm-objcopy This patch addresses https://bugs.llvm.org/show_bug.cgi?id=42183 by replacing the stub markdown doc for llvm-objcopy with a full one describing the current options available in llvm-objcopy. Reviewed by: jakehehrlich, MaskRay Differential Revision: https://reviews.llvm.org/D63820
  6. [X86][AVX] combineX86ShuffleChainWithExtract - add number of non-zero extract_subvectors to the combine depth This better accounts for the cost/benefit of removing extract_subvectors from the shuffle and will be more useful in future patches. The vpermq predicate regression will be fixed shortly.
  7. [ThinLTO] Optimize writeonly globals out Differential revision: https://reviews.llvm.org/D63444
  8. [llvm-ar][test] Add to MRI test coverage This reapplies 363232 that was reverted due to a buildbot test failure, this build bot has now been fixed. Differential Revision: https://reviews.llvm.org/D63197
  9. Revert "[analyzer][CFG] Return the correct terminator condition" This reverts commit 7a57118a6fcfa3770f984453543bbdfd0b233e84. Causes a bunch of crashes, I need to time to evaluate this.
  10. [analyzer][CFG] Return the correct terminator condition For the following terminator statement: if (A && B && C && D) The built CFG is the following: [B5 (ENTRY)] Succs (1): B4 [B1] 1: 10 2: j 3: [B1.2] (ImplicitCastExpr, LValueToRValue, int) 4: [B1.1] / [B1.3] 5: int x = 10 / j; Preds (1): B2 Succs (1): B0 [B2] 1: C 2: [B2.1] (ImplicitCastExpr, LValueToRValue, _Bool) T: if [B4.4] && [B3.2] && [B2.2] Preds (1): B3 Succs (2): B1 B0 [B3] 1: B 2: [B3.1] (ImplicitCastExpr, LValueToRValue, _Bool) T: [B4.4] && [B3.2] && ... Preds (1): B4 Succs (2): B2 B0 [B4] 1: 0 2: int j = 0; 3: A 4: [B4.3] (ImplicitCastExpr, LValueToRValue, _Bool) T: [B4.4] && ... Preds (1): B5 Succs (2): B3 B0 [B0 (EXIT)] Preds (4): B1 B2 B3 B4 However, even though the path of execution in B2 only depends on C's value, CFGBlock::getCondition() would return the entire condition (A && B && C). For B3, it would return A && B. I changed this the actual condition. Differential Revision: https://reviews.llvm.org/D63538
  11. [ELF][RISCV] Allow R_RISCV_ADD in relocateNonAlloc() gcc may generate .debug_info/.debug_aranges/.debug_line/etc that are relocated by R_RISCV_ADD*/R_RISCV_SUB* pairs. Allow R_RISCV_ADD in non-SHF_ALLOC section to fix link errors like: ld.lld: error: print.c:(.debug_frame+0x60): has non-ABS relocation R_RISCV_ADD64 against symbol '.L0 ' Differential Revision: https://reviews.llvm.org/D63259
  12. [mips] Mark general scheduling model as complete
  13. [mips] Add missing atomic instructions to general scheduling definitions
  14. [mips] Add missing microMIPS instructions to general scheduling definitions
  15. Fix -Wcast-qual const warning. NFCI.
  16. Make a buildbot using a buggy gcc happy When specializing a template in a namespace, it has to be in a namespace block, else gcc will get confused. Hopefully this fixes the issue. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
  17. Specialize an anchor() function in the correct namespace
  18. [analyzer][Dominator] Add post dominators to CFG + a new debug checker Transform clang::DominatorTree to be able to also calculate post dominators. * Tidy up the documentation * Make it clang::DominatorTree template class (similarly to how llvm::DominatorTreeBase works), rename it to clang::CFGDominatorTreeImpl * Clang's dominator tree is now called clang::CFGDomTree * Clang's brand new post dominator tree is called clang::CFGPostDomTree * Add a lot of asserts to the dump() function * Create a new checker to test the functionality Differential Revision: https://reviews.llvm.org/D62551
Revision 365046 by sam_parker:
[ARM] Fix for NDEBUG builds

Fix unused variable warning as well as a nonsense assert.

Differential Revision: https://reviews.llvm.org/D63816
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (diff)llvm.src/lib/Target/ARM/ARMISelLowering.cpp
Revision 365045 by cryptoad:
[scudo][standalone] Potential fix for missing sized delete

Summary:
In some setups, using `-fsized-deallocation` would end up not finding
a sized delete operator at link time. For now, avoid using the flag
and declare the sized delete operator in the cpp test only.

This is a tentative fix as I do not have the failing setup.

Reviewers: rnk, morehouse, hctim, eugenis, vitalybuka

Reviewed By: rnk, hctim

Subscribers: mgorny, delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D64086
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/CMakeLists.txt (diff)compiler-rt.src/lib/scudo/standalone/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/wrappers_cpp_test.cc (diff)compiler-rt.src/lib/scudo/standalone/tests/wrappers_cpp_test.cc
Revision 365044 by rksimon:
[X86][AVX] Combine vpermi(bitcast(x)) -> bitcast(vpermi(x))

iff the number of elements doesn't change.

This gets around an issue with combineX86ShuffleChain not being able to hint which domain is preferred for shuffles that can be done with either.

Fixes regression introduced in rL365041
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-shuffles/partial_permute.ll (diff)llvm.src/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
Revision 365043 by jamesm:
[SelectionDAG] Propagate alias metadata to target intrinsic nodes

When a target intrinsic has been determined to touch memory, we construct a MachineMemOperand during SDAG construction. In this case, we should propagate AAMDNodes metadata to the MachineMemOperand where available.

Differential revision: https://reviews.llvm.org/D64131
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SelectionDAG.h (diff)llvm.src/include/llvm/CodeGen/SelectionDAG.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.inc.ll (diff)llvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.inc.ll
Revision 365042 by jhenderson:
[docs][llvm-objcopy] Write documentation for llvm-objcopy

This patch addresses https://bugs.llvm.org/show_bug.cgi?id=42183 by replacing
the stub markdown doc for llvm-objcopy with a full one describing the current
options available in llvm-objcopy.

Reviewed by: jakehehrlich, MaskRay

Differential Revision: https://reviews.llvm.org/D63820
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/docs/CommandGuide/llvm-objcopy.mdllvm.src/docs/CommandGuide/llvm-objcopy.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-objcopy.rstllvm.src/docs/CommandGuide/llvm-objcopy.rst
Revision 365041 by rksimon:
[X86][AVX] combineX86ShuffleChainWithExtract - add number of non-zero extract_subvectors to the combine depth

This better accounts for the cost/benefit of removing extract_subvectors from the shuffle and will be more useful in future patches.

The vpermq predicate regression will be fixed shortly.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-shuffles/partial_permute.ll (diff)llvm.src/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
Revision 365040 by evgeny777:
[ThinLTO] Optimize writeonly globals out

Differential revision: https://reviews.llvm.org/D63444
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/ModuleSummaryIndex.h (diff)llvm.src/include/llvm/IR/ModuleSummaryIndex.h
The file was modified/llvm/trunk/lib/Analysis/ModuleSummaryAnalysis.cpp (diff)llvm.src/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was modified/llvm/trunk/lib/AsmParser/LLParser.cpp (diff)llvm.src/lib/AsmParser/LLParser.cpp
The file was modified/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (diff)llvm.src/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modified/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp (diff)llvm.src/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modified/llvm/trunk/lib/IR/AsmWriter.cpp (diff)llvm.src/lib/IR/AsmWriter.cpp
The file was modified/llvm/trunk/lib/IR/ModuleSummaryIndex.cpp (diff)llvm.src/lib/IR/ModuleSummaryIndex.cpp
The file was modified/llvm/trunk/lib/LTO/LTO.cpp (diff)llvm.src/lib/LTO/LTO.cpp
The file was modified/llvm/trunk/lib/Transforms/IPO/FunctionImport.cpp (diff)llvm.src/lib/Transforms/IPO/FunctionImport.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/FunctionImportUtils.cpp (diff)llvm.src/lib/Transforms/Utils/FunctionImportUtils.cpp
The file was modified/llvm/trunk/test/Assembler/thinlto-summary.ll (diff)llvm.src/test/Assembler/thinlto-summary.ll
The file was modified/llvm/trunk/test/Assembler/thinlto-vtable-summary.ll (diff)llvm.src/test/Assembler/thinlto-vtable-summary.ll
The file was modified/llvm/trunk/test/Bitcode/summary_version.ll (diff)llvm.src/test/Bitcode/summary_version.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-alias.ll (diff)llvm.src/test/Bitcode/thinlto-alias.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-alias2.ll (diff)llvm.src/test/Bitcode/thinlto-alias2.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph-cast.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-callgraph-cast.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-callgraph-relbf.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-callgraph.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-callgraph.ll
The file was modified/llvm/trunk/test/Bitcode/thinlto-function-summary-refgraph.ll (diff)llvm.src/test/Bitcode/thinlto-function-summary-refgraph.ll
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/dot-dumper2.llllvm.src/test/ThinLTO/X86/Inputs/dot-dumper2.ll
The file was added/llvm/trunk/test/ThinLTO/X86/dot-dumper2.llllvm.src/test/ThinLTO/X86/dot-dumper2.ll
The file was modified/llvm/trunk/test/ThinLTO/X86/index-const-prop2.ll (diff)llvm.src/test/ThinLTO/X86/index-const-prop2.ll
The file was added/llvm/trunk/test/ThinLTO/X86/writeonly.llllvm.src/test/ThinLTO/X86/writeonly.ll
The file was added/llvm/trunk/test/ThinLTO/X86/writeonly2.llllvm.src/test/ThinLTO/X86/writeonly2.ll
Revision 365039 by gbreynoo:
[llvm-ar][test] Add to MRI test coverage

This reapplies 363232 that was reverted due to a buildbot test failure, this build bot has now been fixed.

Differential Revision: https://reviews.llvm.org/D63197
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-ar/mri-addlib.testllvm.src/test/tools/llvm-ar/mri-addlib.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-addmod.testllvm.src/test/tools/llvm-ar/mri-addmod.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-comments.testllvm.src/test/tools/llvm-ar/mri-comments.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-end.testllvm.src/test/tools/llvm-ar/mri-end.test
The file was added/llvm/trunk/test/tools/llvm-ar/mri-utf8.testllvm.src/test/tools/llvm-ar/mri-utf8.test
Revision 365037 by szelethus:
Revert "[analyzer][CFG] Return the correct terminator condition"

This reverts commit 7a57118a6fcfa3770f984453543bbdfd0b233e84.

Causes a bunch of crashes, I need to time to evaluate this.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Analysis/CFG.h (diff)clang.src/include/clang/Analysis/CFG.h
The file was modified/cfe/trunk/lib/Analysis/CFG.cpp (diff)clang.src/lib/Analysis/CFG.cpp
Revision 365036 by szelethus:
[analyzer][CFG] Return the correct terminator condition

For the following terminator statement:

if (A && B && C && D)
The built CFG is the following:

[B5 (ENTRY)]
  Succs (1): B4

[B1]
  1: 10
  2: j
  3: [B1.2] (ImplicitCastExpr, LValueToRValue, int)
  4: [B1.1] / [B1.3]
  5: int x = 10 / j;
  Preds (1): B2
  Succs (1): B0

[B2]
  1: C
  2: [B2.1] (ImplicitCastExpr, LValueToRValue, _Bool)
  T: if [B4.4] && [B3.2] && [B2.2]
  Preds (1): B3
  Succs (2): B1 B0

[B3]
  1: B
  2: [B3.1] (ImplicitCastExpr, LValueToRValue, _Bool)
  T: [B4.4] && [B3.2] && ...
  Preds (1): B4
  Succs (2): B2 B0

[B4]
  1: 0
  2: int j = 0;
  3: A
  4: [B4.3] (ImplicitCastExpr, LValueToRValue, _Bool)
  T: [B4.4] && ...
  Preds (1): B5
  Succs (2): B3 B0

[B0 (EXIT)]
  Preds (4): B1 B2 B3 B4

However, even though the path of execution in B2 only depends on C's value,
CFGBlock::getCondition() would return the entire condition (A && B && C). For
B3, it would return A && B. I changed this the actual condition.

Differential Revision: https://reviews.llvm.org/D63538
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Analysis/CFG.h (diff)clang.src/include/clang/Analysis/CFG.h
The file was modified/cfe/trunk/lib/Analysis/CFG.cpp (diff)clang.src/lib/Analysis/CFG.cpp
Revision 365035 by maskray:
[ELF][RISCV] Allow R_RISCV_ADD in relocateNonAlloc()

gcc may generate .debug_info/.debug_aranges/.debug_line/etc that are
relocated by R_RISCV_ADD*/R_RISCV_SUB* pairs.
Allow R_RISCV_ADD in non-SHF_ALLOC section to fix link errors like:

    ld.lld: error: print.c:(.debug_frame+0x60): has non-ABS relocation R_RISCV_ADD64 against symbol '.L0 '

Differential Revision: https://reviews.llvm.org/D63259
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/InputSection.cpp (diff)lld.src/ELF/InputSection.cpp
The file was modified/lld/trunk/test/ELF/riscv-reloc-add.s (diff)lld.src/test/ELF/riscv-reloc-add.s
Revision 365034 by atanasyan:
[mips] Mark general scheduling model as complete
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MipsScheduleGeneric.td (diff)llvm.src/lib/Target/Mips/MipsScheduleGeneric.td
Revision 365033 by atanasyan:
[mips] Add missing atomic instructions to general scheduling definitions
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MipsScheduleGeneric.td (diff)llvm.src/lib/Target/Mips/MipsScheduleGeneric.td
Revision 365032 by atanasyan:
[mips] Add missing microMIPS instructions to general scheduling definitions
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MipsScheduleGeneric.td (diff)llvm.src/lib/Target/Mips/MipsScheduleGeneric.td
Revision 365031 by rksimon:
Fix -Wcast-qual const warning. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ExprConstant.cpp (diff)clang.src/lib/AST/ExprConstant.cpp
Revision 365030 by szelethus:
Make a buildbot using a buggy gcc happy

When specializing a template in a namespace, it has to be in a namespace
block, else gcc will get confused. Hopefully this fixes the issue.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Analysis/Dominators.cpp (diff)clang.src/lib/Analysis/Dominators.cpp
Revision 365029 by szelethus:
Specialize an anchor() function in the correct namespace
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Analysis/Dominators.cpp (diff)clang.src/lib/Analysis/Dominators.cpp
Revision 365028 by szelethus:
[analyzer][Dominator] Add post dominators to CFG + a new debug checker

Transform clang::DominatorTree to be able to also calculate post dominators.

* Tidy up the documentation
* Make it clang::DominatorTree template class (similarly to how
  llvm::DominatorTreeBase works), rename it to clang::CFGDominatorTreeImpl
* Clang's dominator tree is now called clang::CFGDomTree
* Clang's brand new post dominator tree is called clang::CFGPostDomTree
* Add a lot of asserts to the dump() function
* Create a new checker to test the functionality

Differential Revision: https://reviews.llvm.org/D62551
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Analysis/Analyses/Dominators.h (diff)clang.src/include/clang/Analysis/Analyses/Dominators.h
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Checkers/Checkers.td (diff)clang.src/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modified/cfe/trunk/lib/Analysis/Dominators.cpp (diff)clang.src/lib/Analysis/Dominators.cpp
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp (diff)clang.src/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp
The file was modified/cfe/trunk/test/Analysis/domtest.c (diff)clang.src/test/Analysis/domtest.c
The file was modified/cfe/trunk/test/Analysis/domtest.cpp (diff)clang.src/test/Analysis/domtest.cpp