SuccessChanges

Summary

  1. Generalize icmp matching in IndVars' eliminateTrunc We were only matching RHS being a loop invariant value, not the inverse. Since there's nothing which appears to canonicalize loop invariant values to RHS, this means we missed cases. Differential Revision: https://reviews.llvm.org/D63112
  2. [libcxx] Mark CTAD tests for set and multiset as unsupported on older Apple Clangs Those fail on Green Dragon.
  3. [Analysis] add isSplatValue() for vectors in IR We have the related getSplatValue() already in IR (see code just above the proposed addition). But sometimes we only need to know that the value is a splat rather than capture the splatted scalar value. Also, we have an isSplatValue() function already in SDAG. Motivation - recent bugs that would potentially benefit from improved splat analysis in IR: https://bugs.llvm.org/show_bug.cgi?id=37428 https://bugs.llvm.org/show_bug.cgi?id=42174 Differential Revision: https://reviews.llvm.org/D63138
  4. [PowerPC][NFC]Remove sms-simple.ll test temporarily. Looks like a MachinePipeliner algorithm problem found by sanitizer-x86_64-linux-fast. I will backout this test first while investigating the problem to unblock buildbot. ==49637==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x614000002e08 at pc 0x000004364350 bp 0x7ffe228a3bd0 sp 0x7ffe228a3bc8 READ of size 4 at 0x614000002e08 thread T0 #0 0x436434f in llvm::SwingSchedulerDAG::checkValidNodeOrder(llvm::SmallVector<llvm::NodeSet, 8u> const&) const /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:3736:11 #1 0x4342cd0 in llvm::SwingSchedulerDAG::schedule() /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:486:3 #2 0x434042d in llvm::MachinePipeliner::swingModuloScheduler(llvm::MachineLoop&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:385:7 #3 0x433eb90 in llvm::MachinePipeliner::runOnMachineFunction(llvm::MachineFunction&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:207:5 #4 0x428b7ea in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13 #5 0x4d1a913 in llvm::FPPassManager::runOnFunction(llvm::Function&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1648:27 #6 0x4d1b192 in llvm::FPPassManager::runOnModule(llvm::Module&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1685:16 #7 0x4d1c06d in runOnModule /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1752:27 #8 0x4d1c06d in llvm::legacy::PassManagerImpl::run(llvm::Module&) /b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1865 #9 0xa48ca3 in compileModule(char**, llvm::LLVMContext&) /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:611:8 #10 0xa4270f in main /b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:365:22 #11 0x7fec902572e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0) #12 0x971b69 in _start (/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x971b69)
  5. [Sanitizers] Add case MACOS_VERSION_CATALINA Reviewed By: delcypher Differential Revision: https://reviews.llvm.org/D63096
  6. [docs] Add "GNU binutils Replacements" section to command guide Summary: This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches. Tested by running `ninja docs-llvm-html` and inspecting locally. Reviewers: jhenderson, MaskRay, grimar, alexshap Reviewed By: jhenderson, MaskRay, grimar Subscribers: smeenai, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63014
  7. Mark CTAD fail tests for set/multiset as XFAIL for older compilers that give different error messages
  8. XFAIL a couple of tests on apple-clang-9.1, which is a compiler that I didn't know existed
  9. [GlobalISel] Add a G_JUMP_TABLE opcode. This opcode generates a pointer to the address of the jump table specified by the source operand, which is a jump table index. It will be used in conjunction with an upcoming G_BRJT opcode to support jump table codegen with GlobalISel. Differential Revision: https://reviews.llvm.org/D63111
  10. [scudo][standalone] Unmap memory in tests Summary: The more tests are added, the more we are limited by the size of the address space on 32-bit. Implement `unmapTestOnly` all around (like it is in sanitzer_common) to be able to free up some memory. This is not intended to be a proper "destructor" for an allocator, but allows us to not fail due to having no memory left. Reviewers: morehouse, vitalybuka, eugenis, hctim Reviewed By: morehouse Subscribers: delcypher, jfb, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D63146
  11. [MemorySSA] When applying updates, clean unnecessary Phis. Summary: After applying a set of insert updates, there may be trivial Phis left over. Clean them up. Reviewers: george.burgess.iv Subscribers: jlebar, Prazek, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63033
  12. [NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll
  13. Check in test that demonstrates ABI break for std::function. Our C++03 and C++11 implementations of function are not ABI compatible. I've added a "test" that demonstrates this.
  14. Only passes that preserve MemorySSA must mark it as preserved. Summary: The method `getLoopPassPreservedAnalyses` should not mark MemorySSA as preserved, because it's being called in a lot of passes that do not preserve MemorySSA. Instead, mark the MemorySSA analysis as preserved by each pass that does preserve it. These changes only affect the new pass mananger. Reviewers: chandlerc Subscribers: mehdi_amini, jlebar, Prazek, george.burgess.iv, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62536
  15. [libc++] Implement deduction guides for <set> This is part of C++17's P0433. Thanks to Arthur O'Dwyer for the patch. Differential Revision: https://reviews.llvm.org/D58582
  16. Deduplicate S_CONSTANTs in LLD. Summary: Deduplicate S_CONSTANTS when linking, if they have the same value. Reviewers: rnk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63151
Revision 363108 by reames:
Generalize icmp matching in IndVars' eliminateTrunc

We were only matching RHS being a loop invariant value, not the inverse. Since there's nothing which appears to canonicalize loop invariant values to RHS, this means we missed cases.

Differential Revision: https://reviews.llvm.org/D63112
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Utils/SimplifyIndVar.cppllvm.src/lib/Transforms/Utils/SimplifyIndVar.cpp
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/eliminate-trunc.llllvm.src/test/Transforms/IndVarSimplify/eliminate-trunc.ll
Revision 363107 by Louis Dionne:
[libcxx] Mark CTAD tests for set and multiset as unsupported on older Apple Clangs

Those fail on Green Dragon.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpplibcxx.src/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
The file was modified/libcxx/trunk/test/std/containers/associative/set/set.cons/deduct.pass.cpplibcxx.src/test/std/containers/associative/set/set.cons/deduct.pass.cpp
Revision 363106 by spatel:
[Analysis] add isSplatValue() for vectors in IR

We have the related getSplatValue() already in IR (see code just above the proposed addition).
But sometimes we only need to know that the value is a splat rather than capture the splatted
scalar value. Also, we have an isSplatValue() function already in SDAG.

Motivation - recent bugs that would potentially benefit from improved splat analysis in IR:
https://bugs.llvm.org/show_bug.cgi?id=37428
https://bugs.llvm.org/show_bug.cgi?id=42174

Differential Revision: https://reviews.llvm.org/D63138
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/VectorUtils.hllvm.src/include/llvm/Analysis/VectorUtils.h
The file was modified/llvm/trunk/lib/Analysis/VectorUtils.cppllvm.src/lib/Analysis/VectorUtils.cpp
The file was modified/llvm/trunk/unittests/Analysis/VectorUtilsTest.cppllvm.src/unittests/Analysis/VectorUtilsTest.cpp
Revision 363105 by jsji:
[PowerPC][NFC]Remove sms-simple.ll test temporarily.

Looks like a MachinePipeliner algorithm problem found by
sanitizer-x86_64-linux-fast.
I will backout this test first while investigating the problem to
unblock buildbot.

==49637==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x614000002e08 at pc 0x000004364350 bp 0x7ffe228a3bd0 sp 0x7ffe228a3bc8
READ of size 4 at 0x614000002e08 thread T0
    #0 0x436434f in
llvm::SwingSchedulerDAG::checkValidNodeOrder(llvm::SmallVector<llvm::NodeSet,
8u> const&) const
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:3736:11
    #1 0x4342cd0 in llvm::SwingSchedulerDAG::schedule()
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:486:3
    #2 0x434042d in
llvm::MachinePipeliner::swingModuloScheduler(llvm::MachineLoop&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:385:7
    #3 0x433eb90 in
llvm::MachinePipeliner::runOnMachineFunction(llvm::MachineFunction&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachinePipeliner.cpp:207:5
    #4 0x428b7ea in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13
    #5 0x4d1a913 in llvm::FPPassManager::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1648:27
    #6 0x4d1b192 in llvm::FPPassManager::runOnModule(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1685:16
    #7 0x4d1c06d in runOnModule
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1752:27
    #8 0x4d1c06d in llvm::legacy::PassManagerImpl::run(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1865
    #9 0xa48ca3 in compileModule(char**, llvm::LLVMContext&)
/b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:611:8
    #10 0xa4270f in main
/b/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:365:22
    #11 0x7fec902572e0 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
    #12 0x971b69 in _start
(/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan/bin/llc+0x971b69)
Change TypePath in RepositoryPath in Workspace
The file was removed/llvm/trunk/test/CodeGen/PowerPC/sms-simple.llllvm.src/test/CodeGen/PowerPC/sms-simple.ll
Revision 363104 by yln:
[Sanitizers] Add case MACOS_VERSION_CATALINA

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D63096
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.cccompiler-rt.src/lib/sanitizer_common/sanitizer_mac.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_mac.hcompiler-rt.src/lib/sanitizer_common/sanitizer_mac.h
Revision 363100 by rupprecht:
[docs] Add "GNU binutils Replacements" section to command guide

Summary:
This splits out a section in the command guide for llvm tools that can be used as replacements for GNU tools. For pages that didn't exist, I added stub pages that can be individually filled in by followup patches.

Tested by running `ninja docs-llvm-html` and inspecting locally.

Reviewers: jhenderson, MaskRay, grimar, alexshap

Reviewed By: jhenderson, MaskRay, grimar

Subscribers: smeenai, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63014
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/index.rstllvm.src/docs/CommandGuide/index.rst
The file was added/llvm/trunk/docs/CommandGuide/llvm-cxxfilt.mdllvm.src/docs/CommandGuide/llvm-cxxfilt.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-objcopy.mdllvm.src/docs/CommandGuide/llvm-objcopy.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-ranlib.mdllvm.src/docs/CommandGuide/llvm-ranlib.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-readelf.mdllvm.src/docs/CommandGuide/llvm-readelf.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-size.mdllvm.src/docs/CommandGuide/llvm-size.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-strings.mdllvm.src/docs/CommandGuide/llvm-strings.md
The file was added/llvm/trunk/docs/CommandGuide/llvm-strip.mdllvm.src/docs/CommandGuide/llvm-strip.md
Revision 363099 by marshall:
Mark CTAD fail tests for set/multiset as XFAIL for older compilers that give different error messages
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/deduct.fail.cpplibcxx.src/test/std/containers/associative/multiset/multiset.cons/deduct.fail.cpp
The file was modified/libcxx/trunk/test/std/containers/associative/set/set.cons/deduct.fail.cpplibcxx.src/test/std/containers/associative/set/set.cons/deduct.fail.cpp
Revision 363097 by marshall:
XFAIL a couple of tests on apple-clang-9.1, which is a compiler that I didn't know existed
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/containers/associative/map/map.cons/deduct.fail.cpplibcxx.src/test/std/containers/associative/map/map.cons/deduct.fail.cpp
The file was modified/libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/deduct.fail.cpplibcxx.src/test/std/containers/associative/multimap/multimap.cons/deduct.fail.cpp
The file was modified/libcxx/trunk/test/std/utilities/meta/meta.rel/is_base_of_union.pass.cpplibcxx.src/test/std/utilities/meta/meta.rel/is_base_of_union.pass.cpp
Revision 363096 by aemerson:
[GlobalISel] Add a G_JUMP_TABLE opcode.

This opcode generates a pointer to the address of the jump table
specified by the source operand, which is a jump table index.

It will be used in conjunction with an upcoming G_BRJT opcode to support
jump table codegen with GlobalISel.

Differential Revision: https://reviews.llvm.org/D63111
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.hllvm.src/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
The file was modified/llvm/trunk/include/llvm/Support/TargetOpcodes.defllvm.src/include/llvm/Support/TargetOpcodes.def
The file was modified/llvm/trunk/include/llvm/Target/GenericOpcodes.tdllvm.src/include/llvm/Target/GenericOpcodes.td
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/MachineIRBuilder.cppllvm.src/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cppllvm.src/lib/CodeGen/MachineVerifier.cpp
The file was added/llvm/trunk/test/MachineVerifier/test_g_jump_table.mirllvm.src/test/MachineVerifier/test_g_jump_table.mir
Revision 363095 by cryptoad:
[scudo][standalone] Unmap memory in tests

Summary:
The more tests are added, the more we are limited by the size of the
address space on 32-bit. Implement `unmapTestOnly` all around (like it
is in sanitzer_common) to be able to free up some memory.
This is not intended to be a proper "destructor" for an allocator, but
allows us to not fail due to having no memory left.

Reviewers: morehouse, vitalybuka, eugenis, hctim

Reviewed By: morehouse

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

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D63146
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/scudo/standalone/bytemap.hcompiler-rt.src/lib/scudo/standalone/bytemap.h
The file was modified/compiler-rt/trunk/lib/scudo/standalone/primary32.hcompiler-rt.src/lib/scudo/standalone/primary32.h
The file was modified/compiler-rt/trunk/lib/scudo/standalone/primary64.hcompiler-rt.src/lib/scudo/standalone/primary64.h
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/bytemap_test.cccompiler-rt.src/lib/scudo/standalone/tests/bytemap_test.cc
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/primary_test.cccompiler-rt.src/lib/scudo/standalone/tests/primary_test.cc
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tests/tsd_test.cccompiler-rt.src/lib/scudo/standalone/tests/tsd_test.cc
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tsd_exclusive.hcompiler-rt.src/lib/scudo/standalone/tsd_exclusive.h
The file was modified/compiler-rt/trunk/lib/scudo/standalone/tsd_shared.hcompiler-rt.src/lib/scudo/standalone/tsd_shared.h
Revision 363094 by asbirlea:
[MemorySSA] When applying updates, clean unnecessary Phis.

Summary: After applying a set of insert updates, there may be trivial Phis left over. Clean them up.

Reviewers: george.burgess.iv

Subscribers: jlebar, Prazek, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63033
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/MemorySSAUpdater.cppllvm.src/lib/Analysis/MemorySSAUpdater.cpp
The file was added/llvm/trunk/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.llllvm.src/test/Analysis/MemorySSA/loop_rotate_remove_trivial_phis.ll
Revision 363093 by mcinally:
[NFC][CodeGen] Add unary FNeg tests to X86/combine-fcopysign.ll X86/dag-fmf-cse.ll X86/fast-isel-fneg.ll X86/fdiv.ll
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/X86/combine-fcopysign.llllvm.src/test/CodeGen/X86/combine-fcopysign.ll
The file was modified/llvm/trunk/test/CodeGen/X86/dag-fmf-cse.llllvm.src/test/CodeGen/X86/dag-fmf-cse.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fast-isel-fneg.llllvm.src/test/CodeGen/X86/fast-isel-fneg.ll
The file was modified/llvm/trunk/test/CodeGen/X86/fdiv.llllvm.src/test/CodeGen/X86/fdiv.ll
Revision 363092 by ericwf:
Check in test that demonstrates ABI break for std::function.

Our C++03 and C++11 implementations of function are not ABI
compatible. I've added a "test" that demonstrates this.
Change TypePath in RepositoryPath in Workspace
The file was added/libcxx/trunk/test/libcxx/utilities/function.objects/abi_bug_cxx03_cxx11_example.sh.cpplibcxx.src/test/libcxx/utilities/function.objects/abi_bug_cxx03_cxx11_example.sh.cpp
Revision 363091 by asbirlea:
Only passes that preserve MemorySSA must mark it as preserved.

Summary:
The method `getLoopPassPreservedAnalyses` should not mark MemorySSA as
preserved, because it's being called in a lot of passes that do not
preserve MemorySSA.
Instead, mark the MemorySSA analysis as preserved by each pass that does
preserve it.
These changes only affect the new pass mananger.

Reviewers: chandlerc

Subscribers: mehdi_amini, jlebar, Prazek, george.burgess.iv, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62536
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LoopAnalysisManager.cppllvm.src/lib/Analysis/LoopAnalysisManager.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LICM.cppllvm.src/lib/Transforms/Scalar/LICM.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopInstSimplify.cppllvm.src/lib/Transforms/Scalar/LoopInstSimplify.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopRotation.cppllvm.src/lib/Transforms/Scalar/LoopRotation.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopSimplifyCFG.cppllvm.src/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/SimpleLoopUnswitch.cppllvm.src/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modified/llvm/trunk/unittests/Transforms/Scalar/LoopPassManagerTest.cppllvm.src/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
Revision 363090 by Louis Dionne:
[libc++] Implement deduction guides for <set>

This is part of C++17's P0433.

Thanks to Arthur O'Dwyer for the patch.

Differential Revision: https://reviews.llvm.org/D58582
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/setlibcxx.src/include/set
The file was added/libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/deduct.fail.cpplibcxx.src/test/std/containers/associative/multiset/multiset.cons/deduct.fail.cpp
The file was added/libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpplibcxx.src/test/std/containers/associative/multiset/multiset.cons/deduct.pass.cpp
The file was added/libcxx/trunk/test/std/containers/associative/set/set.cons/deduct.fail.cpplibcxx.src/test/std/containers/associative/set/set.cons/deduct.fail.cpp
The file was added/libcxx/trunk/test/std/containers/associative/set/set.cons/deduct.pass.cpplibcxx.src/test/std/containers/associative/set/set.cons/deduct.pass.cpp
Revision 363089 by akhuang:
Deduplicate S_CONSTANTs in LLD.

Summary: Deduplicate S_CONSTANTS when linking, if they have the same value.

Reviewers: rnk

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63151
Change TypePath in RepositoryPath in Workspace
The file was added/lld/trunk/test/COFF/Inputs/pdb-global-constants-a.sN/A
The file was added/lld/trunk/test/COFF/Inputs/pdb-global-constants-b.sN/A
The file was added/lld/trunk/test/COFF/pdb-global-constants.testN/A
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cppllvm.src/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp