[llvm-bugs] [Bug 28087] New: Assertion 'Pack expansion without unexpanded packs?' failed

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28087

Bug ID: 28087
   Summary: Assertion 'Pack expansion without unexpanded packs?'
failed
   Product: clang
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++14
  Assignee: unassignedclangb...@nondot.org
  Reporter: pipp...@exherbo.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16516
  --> https://llvm.org/bugs/attachment.cgi?id=16516&action=edit
invalid code that leads to the assertion failure

% clang++ -w -std=c++14 secondorderassemblertest-57319f.ii
clang-3.8:
/tmp/tmp.M49CMLsFyB/llvm-3.8.0.src/tools/clang/lib/Sema/SemaTemplateDeduction.cpp:609:
{anonymous}::PackDeductionScope::PackDeductionScope(clang::Sema&,
clang::TemplateParameterList*,
llvm::SmallVectorImpl&,
clang::sema::TemplateDeductionInfo&, clang::TemplateArgument): Assertion
`!Packs.empty() && "Pack expansion without unexpanded packs?"' failed.
#0 0x01c014e5 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x1c014e5)
#1 0x01bff4a6 llvm::sys::RunSignalHandlers()
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x1bff4a6)
#2 0x01bff6c4 SignalHandler(int)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x1bff6c4)
#3 0x7fbde23668d0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0xf8d0)
#4 0x7fbde15a4067 gsignal
/build/glibc-uPj9cH/glibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x7fbde15a5448 abort /build/glibc-uPj9cH/glibc-2.19/stdlib/abort.c:91:0
#6 0x7fbde159d266 __assert_fail_base
/build/glibc-uPj9cH/glibc-2.19/assert/assert.c:92:0
#7 0x7fbde159d312 (/lib/x86_64-linux-gnu/libc.so.6+0x2e312)
#8 0x02a796b3 (anonymous
namespace)::PackDeductionScope::PackDeductionScope(clang::Sema&,
clang::TemplateParameterList*,
llvm::SmallVectorImpl&,
clang::sema::TemplateDeductionInfo&, clang::TemplateArgument)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2a796b3)
#9 0x02a8cf8e
clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*,
clang::TemplateArgumentListInfo*, llvm::ArrayRef,
clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2a8cf8e)
#10 0x029d9cea
clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*,
clang::QualType, clang::Expr::Classification, llvm::ArrayRef,
clang::OverloadCandidateSet&, bool, bool)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x29d9cea)
#11 0x029d9f00 clang::Sema::AddMethodCandidate(clang::DeclAccessPair,
clang::QualType, clang::Expr::Classification, llvm::ArrayRef,
clang::OverloadCandidateSet&, bool)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x29d9f00)
#12 0x029eefb6 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*,
clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef,
clang::SourceLocation)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x29eefb6)
#13 0x028b40db clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef,
clang::SourceLocation, clang::Expr*, bool)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x28b40db)
#14 0x02ab152f clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2ab152f)
#15 0x02aac283 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2aac283)
#16 0x02aad848 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2aad848)
#17 0x02aada91 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2aada91)
#18 0x02abd625 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2abd625)
#19 0x02abf51c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) (/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2abf51c)
#20 0x02abf62b clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/clang-3.8+0x2abf62b)
#21 0x02abd983 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*)
(/home/mi/pipping/dune/inst/clang-3.8.0/bin/cl

[llvm-bugs] [Bug 28088] New: compilation error when copy constructor for llvm::ilist is called

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28088

Bug ID: 28088
   Summary: compilation error when copy constructor for
llvm::ilist is called
   Product: new-bugs
   Version: 3.7
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: other.nik...@mail.ru
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

It is not possible to copy object of type llvm::ilist although copy constructor
is available. When I try to use it a compilation error occures.

There are some problem in the `iplist::insert()` method which is invoked by the
 copy constructor:

ilist(const ilist &right) {
  insert(this->begin(), right.begin(), right.end());
}

template void insert(iterator where, InIt first, InIt last) {
  for (; first != last; ++first) insert(where, *first);
}

This template `insert()` method try to invoke the following method
iterator iplist::insert(iterator where, NodeTy *New)

But type of the second argument is not a pointer it is a reference (`*first`)
to `NodeTy`.

So, there is no matching function for call.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 27857] licm miscompile with noalias and call which exits program

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27857

Eli Friedman  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Eli Friedman  ---
http://reviews.llvm.org/rL272489 .

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28089] New: Short 8.3 paths make clang++ run in C mode, linking without C++ libraries

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28089

Bug ID: 28089
   Summary: Short 8.3 paths make clang++ run in C mode, linking
without C++ libraries
   Product: clang
   Version: 3.8
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Driver
  Assignee: unassignedclangb...@nondot.org
  Reporter: jibz-llvmb...@stdip.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Clang decides if it is being invoked as a C or C++ compiler based on its
filename.

When installed as `C:\Program Files\LLVM\bin\clang++.exe` on Windows,
the space in the path results in some build systems invoking it with the
short 8.3 path `C:\PROGRA~1\LLVM\bin\CLANG_~1.EXE`, and failing to link
because clang++ thinks it is clang and does not include the C++ libraries.

One example is CMake: https://gitlab.kitware.com/cmake/cmake/issues/16138

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 28090] New: LLVM generates terrible x86 code for trivial, fully unrolled loops

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=28090

Bug ID: 28090
   Summary: LLVM generates terrible x86 code for trivial, fully
unrolled loops
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: chandl...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Consider this code:


struct V {
  static constexpr int length = 32;
  unsigned short data[32];
};

int reduce(V &v) {
  int sum = 0;
  for (int i = 0; i < v.length; ++i) {
sum += static_cast(v.data[i]);
  }
  return sum;
}


If the length weren't a constant, LLVM would do a delightful job of vectorizing
the reduction loop. But because it happens to be a constant trip count, we
fully unroll the loop and generate this mess:


% ./bin/clang++ -std=c++1z -c -S -o - -O2 -march=haswell x.cpp
.text
.file   "x.cpp"
.globl  _Z6reduceR1V
.p2align4, 0x90
.type   _Z6reduceR1V,@function
_Z6reduceR1V:   # @_Z6reduceR1V
.cfi_startproc
# BB#0: # %entry
movzwl  (%rdi), %eax
movzwl  2(%rdi), %ecx
addl%eax, %ecx
movzwl  4(%rdi), %eax
addl%ecx, %eax

; repeat OVER AND OVER AGAIN with minor variations in registers...

movzwl  60(%rdi), %edx
addl%ecx, %edx
movzwl  62(%rdi), %eax
addl%edx, %eax
retq


Ow. This hurts code size as well. =/ I figure we need reduction support in the
SLP vectorizer or some such?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 27953] -mldstmotion miscompile with call to exit

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27953

Eli Friedman  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Eli Friedman  ---
r272495.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 27559] Generate conjunction or disjunction condition to reduce ISL Ast duplication

2016-06-11 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27559

Tobias Grosser  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Tobias Grosser  ---
Fixed in r272500.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs