FailedChanges

Summary

  1. [IR] Delete unused Argument::removeAttr overload It doesn't make sense to remove an AttributeList from an argument.
  2. Clean up DIExpression::prependDIExpr a little. (NFC)
  3. Remove a redundant local variable.
  4. Bitcode: Do not remove empty summary entries when reading a per-module summary. This became no longer necessary after D19462 landed, and will be incompatible with an upcoming change to the summary data structures that changes how we represent references.
  5. Speed up the -Map option. We found that some part of code for the -Map option takes O(m*n) where m is the number of input sections in some file and n is the number of symbols in the same file. If you do LTO, we usually have only a few object files as inputs for the -Map option feature, so this performance characteristic was worse than I expected. This patch rewrites the -Map option feature to speed it up. I eliminated the O(m*n) bottleneck and also used multi-threading. As a result, clang link time with the -Map option improved from 18.7 seconds to 11.2 seconds. Without -Map, it takes 7.7 seconds, so the -Map option is now about 3x faster than before for this test case (from 11.0 seconds to 3.5 seconds.) The generated output file size was 223 MiB, and the file contains 1.2M lines. Differential Revision: https://reviews.llvm.org/D32631
  6. IR: fix some doxygen grammar (NFC) Fix a bit of the doxygen grammar that was off that I noticed while looking at this file for another issue.
  7. COFF: actually synthesize CONST imports properly CONSTANT imports expect both the `_imp_` prefixed and non-prefixed symbols should be added to the symbol table. This allows for linking symbols like _NSConcreteGlobalBlock in WinObjC. The previous change would generate the import library properly by handling the option but would not consume the generated entry properly.
  8. [APInt] Add clearSignBit method. Use it and setSignBit in a few places. NFCI
  9. [LazyValueInfo] Fix typo in comment. NFC
  10. [ValueTracking] Use APInt::isSubsetOf and APInt::intersects. NFC
  11. [bpf] add bigendian support to disassembler . swap 4-bit register encoding, 16-bit offset and 32-bit imm to support big endian archs . add a test Reported-by: David S. Miller <davem@davemloft.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
  12. [DOXYGEN] Minor improvements in doxygen comments. - I removed doxygen comments for the intrinsics that "alias" the other existing documented intrinsics and that only sligtly differ in spelling (single underscores vs. double underscores). #define _tzcnt_u16(a) (__tzcnt_u16((a))) It will be very hard to keep the documentation for these "aliases" in sync with the documentation for the intrinsics they alias to. Out of sync documentation will be more confusing than no documentation. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream.
Revision 301663 by rnk:
[IR] Delete unused Argument::removeAttr overload

It doesn't make sense to remove an AttributeList from an argument.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/Argument.h (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/Argument.h
The file was modified/llvm/trunk/lib/IR/Function.cpp (diff)llvm-revision.src/llvm/trunk/lib/IR/Function.cpp
Revision 301662 by Adrian Prantl:
Clean up DIExpression::prependDIExpr a little. (NFC)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm-revision.src/llvm/trunk/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/IR/DebugInfoMetadata.cpp (diff)llvm-revision.src/llvm/trunk/lib/IR/DebugInfoMetadata.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86OptimizeLEAs.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86OptimizeLEAs.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/Utils/Local.cpp
Revision 301661 by ruiu:
Remove a redundant local variable.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/MapFile.cpp (diff)llvm-revision.src/lld/trunk/ELF/MapFile.cpp
Revision 301660 by pcc:
Bitcode: Do not remove empty summary entries when reading a per-module summary.

This became no longer necessary after D19462 landed, and will be incompatible
with an upcoming change to the summary data structures that changes how we
represent references.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/ModuleSummaryIndex.h (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/ModuleSummaryIndex.h
The file was modified/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (diff)llvm-revision.src/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modified/llvm/trunk/lib/IR/ModuleSummaryIndex.cpp (diff)llvm-revision.src/llvm/trunk/lib/IR/ModuleSummaryIndex.cpp
Revision 301659 by ruiu:
Speed up the -Map option.

We found that some part of code for the -Map option takes O(m*n)
where m is the number of input sections in some file and n is
the number of symbols in the same file. If you do LTO, we usually
have only a few object files as inputs for the -Map option
feature, so this performance characteristic was worse than I
expected.

This patch rewrites the -Map option feature to speed it up.
I eliminated the O(m*n) bottleneck and also used multi-threading.

As a result, clang link time with the -Map option improved from
18.7 seconds to 11.2 seconds. Without -Map, it takes 7.7 seconds,
so the -Map option is now about 3x faster than before for this
test case (from 11.0 seconds to 3.5 seconds.) The generated output
file size was 223 MiB, and the file contains 1.2M lines.

Differential Revision: https://reviews.llvm.org/D32631
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/ELF/MapFile.cpp (diff)llvm-revision.src/lld/trunk/ELF/MapFile.cpp
The file was modified/lld/trunk/test/ELF/map-file.s (diff)llvm-revision.src/lld/trunk/test/ELF/map-file.s
Revision 301658 by Saleem Abdulrasool:
IR: fix some doxygen grammar (NFC)

Fix a bit of the doxygen grammar that was off that I noticed while
looking at this file for another issue.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/DebugInfoMetadata.h
Revision 301657 by Saleem Abdulrasool:
COFF: actually synthesize CONST imports properly

CONSTANT imports expect both the `_imp_` prefixed and non-prefixed
symbols should be added to the symbol table.  This allows for linking
symbols like _NSConcreteGlobalBlock in WinObjC.  The previous change
would generate the import library properly by handling the option but
would not consume the generated entry properly.
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/InputFiles.cpp (diff)llvm-revision.src/lld/trunk/COFF/InputFiles.cpp
The file was modified/lld/trunk/COFF/InputFiles.h (diff)llvm-revision.src/lld/trunk/COFF/InputFiles.h
The file was added/lld/trunk/test/COFF/Inputs/constant-import.sllvm-revision.src/lld/trunk/test/COFF/Inputs/constant-import.s
The file was added/lld/trunk/test/COFF/constant.testllvm-revision.src/lld/trunk/test/COFF/constant.test
Revision 301656 by ctopper:
[APInt] Add clearSignBit method. Use it and setSignBit in a few places. NFCI
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/APInt.h (diff)llvm-revision.src/llvm/trunk/include/llvm/ADT/APInt.h
The file was modified/llvm/trunk/lib/Analysis/DemandedBits.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/DemandedBits.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/InstCombine/InstCombineCompares.cpp
Revision 301655 by ctopper:
[LazyValueInfo] Fix typo in comment. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LazyValueInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/LazyValueInfo.cpp
Revision 301654 by ctopper:
[ValueTracking] Use APInt::isSubsetOf and APInt::intersects. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/ValueTracking.cpp
Revision 301653 by ast:
[bpf] add bigendian support to disassembler

. swap 4-bit register encoding, 16-bit offset and 32-bit imm to support big endian archs
. add a test

Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/BPF/Disassembler/BPFDisassembler.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
The file was added/llvm/trunk/test/CodeGen/BPF/mem_offset_be.llllvm-revision.src/llvm/trunk/test/CodeGen/BPF/mem_offset_be.ll
Revision 301652 by kromanova:
[DOXYGEN] Minor improvements in doxygen comments.

- I removed doxygen comments for the intrinsics that "alias" the other existing documented intrinsics and that only sligtly differ in spelling (single underscores vs. double underscores).
#define _tzcnt_u16(a)     (__tzcnt_u16((a)))

It will be very hard to keep the documentation for these "aliases" in sync with the documentation for the intrinsics they alias to. Out of sync documentation will be more confusing than no documentation.

I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Headers/bmiintrin.h (diff)llvm-revision.src/cfe/trunk/lib/Headers/bmiintrin.h