Changes
Summary
- [AMDGPU] gfx1010 constant bus limit Constant bus limit has increased to 2 with GFX10. Differential Revision: https://reviews.llvm.org/D61404
- [X86] Remove the redundant suffix in vfpclassp[d,s]'s broadcasting variant The broadcasting variant for instruction vfpclassp[d,s] shouldn't use suffix q/l. So remove them from the template. Patch by Pengfei Wang Differential Revision: https://reviews.llvm.org/D61295
- lld-link: Make "duplicate resource" error message a bit more concise Reduces the error message from: lld-link: error: failed to parse .res file: duplicate resource: type STRINGTABLE (ID 6)/name ID 3/language 1033, in test1.res and in test2.res To: lld-link: error: duplicate resource: type STRINGTABLE (ID 6)/name ID 3/language 1033, in test1.res and in test2.res Make sure every error message emitted by cvtres contains the name of at least one ".res" file, so that removing the "failed to parse .res file" string doesn't lose information. Differential Revision: https://reviews.llvm.org/D61388
Change Type | Path in Repository | Path in Workspace |
---|---|---|
![]() | /llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpp | trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cpp |
![]() | /llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.h | trunk/lib/Target/AMDGPU/AMDGPUSubtarget.h |
![]() | /llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp | trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp |
![]() | /llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp | trunk/lib/Target/AMDGPU/SIInstrInfo.cpp |
Change Type | Path in Repository | Path in Workspace |
![]() | /llvm/trunk/lib/Target/X86/X86InstrAVX512.td | trunk/lib/Target/X86/X86InstrAVX512.td |
![]() | /llvm/trunk/test/MC/X86/x86-64-avx512dq.s | trunk/test/MC/X86/x86-64-avx512dq.s |
![]() | /llvm/trunk/test/MC/X86/x86-64-avx512dq_vl.s | trunk/test/MC/X86/x86-64-avx512dq_vl.s |
Change Type | Path in Repository | Path in Workspace |
![]() | /lld/trunk/COFF/DriverUtils.cpp | N/A |
![]() | /llvm/trunk/include/llvm/Object/WindowsResource.h | trunk/include/llvm/Object/WindowsResource.h |
![]() | /llvm/trunk/lib/Object/WindowsResource.cpp | trunk/lib/Object/WindowsResource.cpp |
Summary
- Replace ad-hoc tracking of pattern for an instantiated class-scope explicit function specialization with the MemberSpecializationInfo used everywhere else. Not NFC: the ad-hoc pattern tracking was not being serialized / deserialized properly. That's fixed here.
- Diagnose non-dependent qualified friend function template declarations that don't match any existing declaration. Don't get confused and treat such declarations as template *specializations*.
- [COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI According to alignment section in below ARM64 ABI document, MSVC could increase alignment of global data based on its total size. Clang doesn't do this. Compile the same symbol into different alignments by Clang and MSVC could cause link error because some instruction encodings, like 64-bit LDR/STR with immediate, require the target to be 8 bytes aligned, and linker could choose code stream with such LDR/STR instruction from MSVC and 4 bytes aligned data from Clang into final image, which actually cannot be linked together (see https://bugs.llvm.org/show_bug.cgi?id=41506 for more details). https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2019#alignment Differential Revision: https://reviews.llvm.org/D61225
Change Type | Path in Repository | Path in Workspace |
---|---|---|
![]() | /cfe/trunk/include/clang/AST/ASTContext.h | trunk/include/clang/AST/ASTContext.h |
![]() | /cfe/trunk/include/clang/AST/ASTNodeTraverser.h | trunk/include/clang/AST/ASTNodeTraverser.h |
![]() | /cfe/trunk/include/clang/AST/Decl.h | trunk/include/clang/AST/Decl.h |
![]() | /cfe/trunk/include/clang/AST/DeclTemplate.h | trunk/include/clang/AST/DeclTemplate.h |
![]() | /cfe/trunk/include/clang/AST/RecursiveASTVisitor.h | trunk/include/clang/AST/RecursiveASTVisitor.h |
![]() | /cfe/trunk/include/clang/Sema/Template.h | trunk/include/clang/Sema/Template.h |
![]() | /cfe/trunk/lib/AST/ASTContext.cpp | trunk/lib/AST/ASTContext.cpp |
![]() | /cfe/trunk/lib/AST/Decl.cpp | trunk/lib/AST/Decl.cpp |
![]() | /cfe/trunk/lib/AST/DeclTemplate.cpp | trunk/lib/AST/DeclTemplate.cpp |
![]() | /cfe/trunk/lib/Sema/SemaExpr.cpp | trunk/lib/Sema/SemaExpr.cpp |
![]() | /cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp | trunk/lib/Sema/SemaTemplateInstantiate.cpp |
![]() | /cfe/trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp | trunk/lib/Sema/SemaTemplateInstantiateDecl.cpp |
![]() | /cfe/trunk/lib/Serialization/ASTReaderDecl.cpp | trunk/lib/Serialization/ASTReaderDecl.cpp |
![]() | /cfe/trunk/lib/Serialization/ASTWriterDecl.cpp | trunk/lib/Serialization/ASTWriterDecl.cpp |
![]() | /cfe/trunk/test/PCH/cxx-templates.cpp | trunk/test/PCH/cxx-templates.cpp |
![]() | /cfe/trunk/test/PCH/cxx-templates.h | trunk/test/PCH/cxx-templates.h |
Change Type | Path in Repository | Path in Workspace |
![]() | /cfe/trunk/lib/Sema/SemaDecl.cpp | trunk/lib/Sema/SemaDecl.cpp |
![]() | /cfe/trunk/lib/Sema/SemaOverload.cpp | trunk/lib/Sema/SemaOverload.cpp |
![]() | /cfe/trunk/test/SemaCXX/friend-template-redecl.cpp | trunk/test/SemaCXX/friend-template-redecl.cpp |
![]() | /cfe/trunk/test/SemaCXX/lambda-expressions.cpp | trunk/test/SemaCXX/lambda-expressions.cpp |
Change Type | Path in Repository | Path in Workspace |
![]() | /cfe/trunk/include/clang/Basic/TargetInfo.h | trunk/include/clang/Basic/TargetInfo.h |
![]() | /cfe/trunk/lib/AST/ASTContext.cpp | trunk/lib/AST/ASTContext.cpp |
![]() | /cfe/trunk/lib/Basic/Targets/AArch64.cpp | trunk/lib/Basic/Targets/AArch64.cpp |
![]() | /cfe/trunk/lib/Basic/Targets/AArch64.h | trunk/lib/Basic/Targets/AArch64.h |
![]() | /cfe/trunk/lib/Basic/Targets/NVPTX.cpp | trunk/lib/Basic/Targets/NVPTX.cpp |
![]() | /cfe/trunk/test/CodeGen/arm64-microsoft-struct-align.cpp | trunk/test/CodeGen/arm64-microsoft-struct-align.cpp |