[llvm] r223802 - IR: Split Metadata from Value

Duncan P. N. Exon Smith dexonsmith at apple.com
Thu Dec 11 14:12:23 PST 2014


> On 2014 Dec 11, at 13:00, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
> 
> 
>> On 2014 Dec 11, at 12:08, İsmail Dönmez <ismail at donmez.ws> wrote:
>> 
>> Hi,
>> 
>> On Tue, Dec 9, 2014 at 8:38 PM, Duncan P. N. Exon Smith
>> <dexonsmith at apple.com> wrote:
>>> Author: dexonsmith
>>> Date: Tue Dec  9 12:38:53 2014
>>> New Revision: 223802
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=223802&view=rev
>>> Log:
>>> IR: Split Metadata from Value
>> 
>> Can you have a look at
>> https://build.opensuse.org/package/live_build_log/home:namtrac:clang/llvm-clang-head/openSUSE_Factory/x86_64
>> , this seems to be a regression due to this commit. stage2 compiler
>> crashes:
>> 
>> FAILED: /home/abuild/rpmbuild/BUILD/llvm/stage1/bin/clang++
>> -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_OBJC_REWRITER
>> -DCLANG_ENABLE_STATIC_ANALYZER -D_DEBUG -D_GNU_SOURCE
>> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
>> -stdlib=libc++ -fPIC -fvisibility-inlines-hidden -Wall -W
>> -Wno-unused-parameter -Wwrite-strings -Wcast-qual
>> -Wmissing-field-initializers -pedantic -Wno-long-long
>> -Wcovered-switch-default -Wnon-virtual-dtor -Werror=date-time
>> -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections
>> -fno-common -Woverloaded-virtual -fno-strict-aliasing
>> -Wno-nested-anon-types -O2 -g  -fPIC -Itools/clang/lib/AST
>> -I../tools/clang/lib/AST -I../tools/clang/include
>> -Itools/clang/include -Iinclude -I../include    -UNDEBUG
>> -fno-exceptions -MMD -MT
>> tools/clang/lib/AST/CMakeFiles/clangAST.dir/ItaniumMangle.cpp.o -MF
>> tools/clang/lib/AST/CMakeFiles/clangAST.dir/ItaniumMangle.cpp.o.d -o
>> tools/clang/lib/AST/CMakeFiles/clangAST.dir/ItaniumMangle.cpp.o -c
>> ../tools/clang/lib/AST/ItaniumMangle.cpp
>> 0  clang-3.6       0x0000000000d26718 llvm::sys::PrintStackTrace(_IO_FILE*) + 40
>> 1  clang-3.6       0x0000000000d27b4b
>> 2  libpthread.so.0 0x00007fa348013050
>> 3  clang-3.6       0x0000000000ab3b74
>> llvm::MetadataTracking::track(void*, llvm::Metadata&,
>> llvm::PointerUnion<llvm::MetadataAsValue*, llvm::Metadata*>) + 4
>> 4  clang-3.6       0x0000000000aaab54
>> llvm::ReplaceableMetadataImpl::replaceAllUsesWith(llvm::Metadata*) +
>> 564
>> 5  clang-3.6       0x0000000000aab86e
>> llvm::ValueAsMetadata::handleDeletion(llvm::Value*) + 174
>> 6  clang-3.6       0x0000000000ac0f60 llvm::Value::~Value() + 48
>> 7  clang-3.6       0x0000000000a97a59
>> 8  clang-3.6       0x0000000000d29b53
>> llvm::DeleteDeadBlock(llvm::BasicBlock*) + 211
>> 9  clang-3.6       0x0000000000d363cc
>> llvm::CloneAndPruneFunctionInto(llvm::Function*, llvm::Function
>> const*, llvm::ValueMap<llvm::Value const*, llvm::WeakVH,
>> llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false>
>>>> &, bool, llvm::SmallVectorImpl<llvm::ReturnInst*>&, char const*,
>> llvm::ClonedCodeInfo*, llvm::DataLayout const*, llvm::Instruction*) +
>> 6348
>> 10 clang-3.6       0x0000000000d3d38a
>> llvm::InlineFunction(llvm::CallSite, llvm::InlineFunctionInfo&, bool)
>> + 3130
>> 11 clang-3.6       0x0000000000aff4cb
>> llvm::Inliner::runOnSCC(llvm::CallGraphSCC&) + 2187
>> 12 clang-3.6       0x000000000133b8fe
>> 13 clang-3.6       0x0000000000aa276e
>> llvm::legacy::PassManagerImpl::run(llvm::Module&) + 942
>> 14 clang-3.6       0x00000000010e54b3
>> clang::EmitBackendOutput(clang::DiagnosticsEngine&,
>> clang::CodeGenOptions const&, clang::TargetOptions const&,
>> clang::LangOptions const&, llvm::StringRef, llvm::Module*,
>> clang::BackendAction, llvm::raw_ostream*) + 6739
>> 15 clang-3.6       0x00000000010d9fed
>> 16 clang-3.6       0x000000000138a693 clang::ParseAST(clang::Sema&,
>> bool, bool) + 483
>> 17 clang-3.6       0x0000000000ea4999 clang::FrontendAction::Execute() + 57
>> 18 clang-3.6       0x0000000000e7ae73
>> clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 803
>> 19 clang-3.6       0x0000000000f16a3a
>> clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3242
>> 20 clang-3.6       0x00000000006630eb cc1_main(llvm::ArrayRef<char
>> const*>, char const*, void*) + 555
>> 21 clang-3.6       0x000000000065f8d1 main + 1633
>> 22 libc.so.6       0x00007fa347265b45 __libc_start_main + 245
>> 23 clang-3.6       0x000000000065f15b
> 
> Sure

Just for clarity, by "sure" I mean "PLEASE".  If there's a regression I want
to hunt it down quickly.  (CC me on the bug to be sure I see it.)

> , just file a PR with the crasher:
> 
> [ 2149s] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
> [ 2149s] Preprocessed source(s) and associated run script(s) are located at:
> [ 2149s] clang-3.6: note: diagnostic msg: /tmp/ItaniumMangle-8371c0.cpp
> [ 2149s] clang-3.6: note: diagnostic msg: /tmp/ItaniumMangle-8371c0.sh
> [ 2149s] clang-3.6: note: diagnostic msg: 





More information about the llvm-commits mailing list