https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246630

--- Comment #26 from Dimitry Andric <d...@freebsd.org> ---
Created attachment 215200
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=215200&action=edit
Reproduction files for printf.c

This is a tarball with reproduction files for compiling printf.c, which should
be completely standalone. Contents:

bug246630-repro/printf-699ef3.c
bug246630-repro/printf-699ef3.sh

Note that the shell script already invokes clang -cc1, so it will not do
anything special (AFAIK) with the spawn-new-cc setting. But it could be used to
attempt to detect undefined behavior or usage of uninitialized memory.

Since valgrind doesn't work on FreeBSD, I had to resort to running it on Linux,
and there I get:

==120363== Conditional jump or move depends on uninitialised value(s)
==120363==    at 0x1634474: llvm::ConstantExpr::getGetElementPtr(llvm::Type*,
llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool, llvm::Optional<unsigned
int>, llvm::Type*) (Constants.cpp:2191)
==120363==    by 0x112D6D9: getGetElementPtr (Constants.h:1163)
==120363==    by 0x112D6D9: (anonymous
namespace)::SymbolicallyEvaluateGEP(llvm::GEPOperator const*,
llvm::ArrayRef<llvm::Constant*>, llvm::DataLayout const&,
llvm::TargetLibraryInfo const*) (ConstantFolding.cpp:1005)
==120363==    by 0x112DF70: (anonymous
namespace)::ConstantFoldInstOperandsImpl(llvm::Value const*, unsigned int,
llvm::ArrayRef<llvm::Constant*>, llvm::DataLayout const&,
llvm::TargetLibraryInfo const*) (ConstantFolding.cpp:1039)
==120363==    by 0x112C165: (anonymous
namespace)::ConstantFoldConstantImpl(llvm::Constant const*, llvm::DataLayout
const&, llvm::TargetLibraryInfo const*, llvm::SmallDenseMap<llvm::Constant*,
llvm::Constant*, 4u, llvm::DenseMapInfo<llvm::Constant*>,
llvm::detail::DenseMapPair<llvm::Constant*, llvm::Constant*> >&) [clone
.part.0] (ConstantFolding.cpp:1114)
==120363==    by 0x112C5CF: llvm::ConstantFoldConstant(llvm::Constant const*,
llvm::DataLayout const&, llvm::TargetLibraryInfo const*)
(ConstantFolding.cpp:1194)
==120363==    by 0x188F410: prepareICWorklistFromFunction
(InstructionCombining.cpp:3584)
==120363==    by 0x188F410: combineInstructionsOverFunction(llvm::Function&,
llvm::InstCombineWorklist&, llvm::AAResults*, llvm::AssumptionCache&,
llvm::TargetLibraryInfo&, llvm::DominatorTree&,
llvm::OptimizationRemarkEmitter&, llvm::BlockFrequencyInfo*,
llvm::ProfileSummaryInfo*, unsigned int, llvm::LoopInfo*)
(InstructionCombining.cpp:3703)
==120363==    by 0x189205F: runOnFunction (InstructionCombining.cpp:3789)
==120363==    by 0x189205F:
llvm::InstructionCombiningPass::runOnFunction(llvm::Function&)
(InstructionCombining.cpp:3768)
==120363==    by 0x16F4352: llvm::FPPassManager::runOnFunction(llvm::Function&)
(LegacyPassManager.cpp:1482)
==120363==    by 0x16F4DE8: llvm::FPPassManager::runOnModule(llvm::Module&)
(LegacyPassManager.cpp:1518)
==120363==    by 0x16F51A2: runOnModule (LegacyPassManager.cpp:1583)
==120363==    by 0x16F51A2: llvm::legacy::PassManagerImpl::run(llvm::Module&)
(LegacyPassManager.cpp:1695)
==120363==    by 0x1FF4CFE: EmitAssembly (BackendUtil.cpp:954)
==120363==    by 0x1FF4CFE: clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (BackendUtil.cpp:1677)
==120363==    by 0x2C471A8:
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(CodeGenAction.cpp:335)
==120363==  Uninitialised value was created by a stack allocation
==120363==    at 0x112C653: (anonymous
namespace)::SymbolicallyEvaluateGEP(llvm::GEPOperator const*,
llvm::ArrayRef<llvm::Constant*>, llvm::DataLayout const&,
llvm::TargetLibraryInfo const*) (ConstantFolding.c

I'm trying to reduce this now.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to