[polly] r211957 - Allow multiple reductions per statement

Tobias Grosser tobias at grosser.es
Sun Jun 29 12:46:05 PDT 2014



On June 29, 2014 9:37:53 PM CEST, Johannes Doerfert <doerfert at cs.uni-saarland.de> wrote:
>I will look into it as soon as possible but I'm not sure how to execute
>this test case.
>I tried to find the stacktrace you showed my in on the buildbot page,
>but I can't.
>Is there by any chance also the clang command line options used in some
>log? If
>so can you point me to the url or send it to me?


Look into the file test.log on the buildbot page.  It should contain both the backtrace and the command line. 

Tobias

>
>If not I'll try to find the error without it.
>
>On 06/29, Tobias Grosser wrote:
>> On 27/06/2014 22:31, Johannes Doerfert wrote:
>> >Author: jdoerfert
>> >Date: Fri Jun 27 15:31:28 2014
>> >New Revision: 211957
>> >
>> >URL: http://llvm.org/viewvc/llvm-project?rev=211957&view=rev
>> >Log:
>> >Allow multiple reductions per statement
>> >
>> >   Iterate over all store memory accesses and check for valid binary
>reduction
>> >   candidate loads by following the operands of the stored value. 
>For each
>> >   candidate pair we check if they have the same base address and
>there are no
>> >   other accesses which may overlap with them. This ensures that no
>intermediate
>> >   value can escape into other memory locations or is overwritten at
>some point.
>> >
>> >   + 17 test cases for reduction detection and reduction dependency
>modeling
>> 
>> Hi Johannes,
>> 
>> I believe this change broke our LLVM nightly test runs:
>> 
>> http://lab.llvm.org:8011/builders/polly-perf-O3-polly/builds/885
>> 
>> The compilation of 'clamscan' fails.
>> 
>> Here the stack trace produced:
>> 
>> 0   llvm::sys::PrintStackTrace(_IO_FILE*) + 34
>> 1
>> 2
>> 3   polly::MemoryAccess::getAccessRelation() const + 0
>> 4   polly::ScopStmt::checkForReductions() + 403
>> 5   polly::ScopStmt::ScopStmt(polly::Scop&, polly::TempScop&,
>llvm::Region
>> const&, llvm::BasicBlock&, llvm::SmallVectorImpl<llvm::Loop*>&,
>> llvm::SmallVectorImpl<unsigned int>&) + 1159
>> 6   polly::Scop::buildScop(polly::TempScop&, llvm::Region const&,
>> llvm::SmallVectorImpl<llvm::Loop*>&, llvm::SmallVectorImpl<unsigned
>int>&,
>> llvm::LoopInfo&) + 1297
>> 7   polly::Scop::Scop(polly::TempScop&, llvm::LoopInfo&,
>> llvm::ScalarEvolution&, isl_ctx*) + 441
>> 8   polly::ScopInfo::runOnRegion(llvm::Region*, llvm::RGPassManager&)
>+ 555
>> 9   llvm::RGPassManager::runOnFunction(llvm::Function&) + 1287
>> 10  llvm::FPPassManager::runOnFunction(llvm::Function&) + 655
>> 11  llvm::legacy::FunctionPassManagerImpl::run(llvm::Function&) + 163
>> 12  llvm::legacy::FunctionPassManager::run(llvm::Function&) + 105
>> 13  clang::EmitBackendOutput(clang::DiagnosticsEngine&,
>> clang::CodeGenOptions const&, clang::TargetOptions const&,
>> clang::LangOptions const&, llvm::StringRef, llvm::Module*,
>> clang::BackendAction, llvm::raw_ostream*) + 2957
>> 14
>> 15  clang::ParseAST(clang::Sema&, bool, bool) + 522
>> 16  clang::CodeGenAction::ExecuteAction() + 78
>> 17  clang::FrontendAction::Execute() + 150
>> 18  clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) +
>293
>> 19  clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1532
>> 20  cc1_main(char const**, char const**, char const*, void*) + 1176
>> 21  main + 5340
>> 22  __libc_start_main + 253
>> 
>> Cheers,
>> Tobias

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



More information about the llvm-commits mailing list