[PATCH] D48518: ADT: Shrink SmallVector by 8B on 64-bit platforms
Peter Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 25 10:32:10 PDT 2018
peter.smith added a comment.
This patch is causing the http://lab.llvm.org:8011/builders/clang-cmake-aarch64-lld to fail. Unfortunately (for me) the failures seems to be restricted to older versions of clang and are not reproducible on Arm or X86. The buildbot itself is using the default /usr/bin/clang for Ubuntu 16.04 LTS (clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final). The failures go away if I use the 3.9.1 release (No failures on 4.0.1, 6.0.0 or built from master). At this stage I think that this could be a code-gen bug in the AArch64 backend of clang 3.8.1 so I don't think it is worth reverting, but I'm mentioning it here just in case there is a subtle problem that is only being exposed by that version.
The failures on the bot are all a llvm::unreachable in checkDeducedTemplateArguments() clang/lib/Sema/SemaTemplateDeduction.cpp:367. The only way that I can see that the unreachable gets hit is if there is some kind of corruption of the ArgKind.
A stripped down bit of code that will cause a clang built with 3.8.1 on AArch64 to fail is:
template<typename T, typename U>
class test_attach30 { };
template<typename T>
class test_attach30<T, int> { };
$ clang++ -fsyntax-only test.cpp
Invalid TemplateArgument Kind!
UNREACHABLE executed at
clang/lib/Sema/SemaTemplateDeduction.cpp:367!
https://reviews.llvm.org/D48518
More information about the llvm-commits
mailing list