[llvm-bugs] [Bug 26106] Loop Vectorizer on ARM - why is the relative speedup so much worse?

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

James Molloy  changed:

   What|Removed |Added

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

--- Comment #5 from James Molloy  ---
Hi,

I can't comment on microarchitectural details of ARM CPUs. However the
Cortex-A5 is a part that strongly favours efficiency over performance. It would
be interesting if you ran this on other ARM parts (for example a Cortex-A15).

It is obvious from the numbers that the performance hits a bottleneck/is
saturated after vectorization. Unrolling doesn't give much extra gain. This
could be due to a number of factors that I'm not keen on speculating on! This
is just the theoretical peak performance of that system (because it's not just
the CPU, it's the memory bandwidth too) on that benchmark.

I'm going to mark this resolved, but feel free to reopen it.

James

-- 
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 26109] New: is_same::value == false

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

Bug ID: 26109
   Summary: is_same::value ==
false
   Product: libc++
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: dan.el...@gmail.com
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com
Classification: Unclassified

I'm using libc++ from the trusty/universe repo:
libc++1_1.0~svn199600-1_amd64.deb

is_same is used by unordered_map in a static assert to check that the
allocator::value_type is the same as the map value_type. The problem is the map
defines value_type as pair. If Key was already a const type
(const char *) in this case, somehow it gets double const qualified and is_same
fails. If however, I make a typedef of const char* as CString and then define
the allocator type as pair the is_same check passes.

This seems like a bug to me, double const qualifiers should be ignored by
is_same, right? I'm not sure what other compilers do.

I hope I reported the bug in the right place, it could well be clang issue.

-- 
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 25921] 3.7 LLDB is broken on i686, while 3.8 (trunk) is just fine

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

lab...@google.com changed:

   What|Removed |Added

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

--- Comment #3 from lab...@google.com ---
I'm gonna close the issue then. It would still be good if you could check out
3.8 early to make sure it works for you.

-- 
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 26110] New: clang c compiler produces wrong result for the attached c code with -O2 optimzation

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

Bug ID: 26110
   Summary: clang c compiler produces wrong result for the
attached c code with -O2 optimzation
   Product: clang
   Version: 3.7
  Hardware: Macintosh
OS: MacOS X
Status: NEW
  Severity: release blocker
  Priority: P
 Component: LLVM Codegen
  Assignee: unassignedclangb...@nondot.org
  Reporter: garunsriniva...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 15602
  --> https://llvm.org/bugs/attachment.cgi?id=15602&action=edit
C file that reproduces the problem

A bug in the llvm auto vectoizer produces wrong results for the attached c
file. Turning off auto vectorizer produces the right results, but makes the
bigger test cases run much slower.

Compile the attached c file with xcode 7.0x or later with (clang-700.1.81)
(based on LLVM 3.7.0svn) with the following command:


bad result:
===
 % clang -O2 bug.c -Wall -o bad
 % ./bad
 dbg = 10 10 10 10 10 10 10 10 

good result:
===
 % clang -O2 -fno-vectorize bug.c -Wall -o bad
 %./bad
 dbg = 15 15 15 15 15 15 15 15

gcc 4.7

 % gcc -O2 bug.c -Wall -o bad
 % ./bad
 dbg = 15 15 15 15 15 15 15 15

-- 
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 24655] The preprocessor returns incorrect ranges of macros with certain combinations of headers

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

Dimitar Dobrev  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #9 from Dimitar Dobrev  ---
It turned out to be a bug in our code.

-- 
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 26111] New: Segmentation fault with __attribute__((mode(QI)))

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

Bug ID: 26111
   Summary: Segmentation fault with __attribute__((mode(QI)))
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Frontend
  Assignee: unassignedclangb...@nondot.org
  Reporter: andrey.kules...@intel.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

!- clang crashes with a segfault during parsing __attribute__((mode(QI)))
applied to a function -!

=ENVIRONMENT===
OS (host/target): Linux
Platform: x86_64
Version: trunk

=HOW TO REPRODUCE===
int foo () __attribute__((mode(QI))){ //this line causes segfault
  return 0;
}

int main (){
  return 0;
}

ERROR==
test_attr.c:1:27: warning: GCC does not allow 'mode' attribute in this position
on a function definition [-Wgcc-compat]
int foo () __attribute__((mode(QI))){
  ^
test_attr.c:1:27: error: mode attribute only supported for integer and
floating-point types
#0 0x02c47c38 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
PATH/llvm/lib/Support/Unix/Signals.inc:322:0
#1 0x02c47fb4 PrintStackTraceSignalHandler(void*)
PATH/llvm/lib/Support/Unix/Signals.inc:380:0
#2 0x02c46739 llvm::sys::RunSignalHandlers()
PATH/llvm/lib/Support/Signals.cpp:44:0
#3 0x02c47750 SignalHandler(int)
PATH/llvm/lib/Support/Unix/Signals.inc:210:0
#4 0x7f5a2bbd2130 __restore_rt (/lib64/libpthread.so.0+0xf130)
#5 0x02deab56 clang::FunctionType::getReturnType() const
PATH/llvm/tools/clang/include/clang/AST/Type.h:2977:0
#6 0x02deb8a2 clang::FunctionDecl::getReturnType() const
PATH/llvm/tools/clang/include/clang/AST/Decl.h:1958:0
#7 0x04227f90 clang::Sema::CheckFunctionDeclaration(clang::Scope*,
clang::FunctionDecl*, clang::LookupResult&, bool)
PATH/llvm/tools/clang/lib/Sema/SemaDecl.cpp:8326:0
#8 0x042264cf clang::Sema::ActOnFunctionDeclarator(clang::Scope*,
clang::Declarator&, clang::DeclContext*, clang::TypeSourceInfo*,
clang::LookupResult&, llvm::MutableArrayRef,
bool&) PATH/llvm/tools/clang/lib/Sema/SemaDecl.cpp:7917:0
#9 0x0421ae90 clang::Sema::HandleDeclarator(clang::Scope*,
clang::Declarator&, llvm::MutableArrayRef)
PATH/llvm/tools/clang/lib/Sema/SemaDecl.cpp:4989:0
#10 0x04232621 clang::Sema::ActOnStartOfFunctionDef(clang::Scope*,
clang::Declarator&, llvm::MutableArrayRef,
clang::Sema::SkipBodyInfo*) PATH/llvm/tools/clang/lib/Sema/SemaDecl.cpp:10685:0
#11 0x03e5d3a6
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
PATH/llvm/tools/clang/lib/Parse/Parser.cpp:1076:0
#12 0x03e77be3 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
unsigned int, clang::SourceLocation*, clang::Parser::ForRangeInit*)
PATH/llvm/tools/clang/lib/Parse/ParseDecl.cpp:1755:0
#13 0x03e5ca88
clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier)
PATH/llvm/tools/clang/lib/Parse/Parser.cpp:928:0
#14 0x03e5cb40
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier)
PATH/llvm/tools/clang/lib/Parse/Parser.cpp:943:0
#15 0x03e5c2a8
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) PATH/llvm/tools/clang/lib/Parse/Parser.cpp:801:0
#16 0x03e5b72f
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&)
PATH/llvm/tools/clang/lib/Parse/Parser.cpp:593:0
#17 0x03e57c7f clang::ParseAST(clang::Sema&, bool, bool)
PATH/llvm/tools/clang/lib/Parse/ParseAST.cpp:151:0
#18 0x032aef80 clang::ASTFrontendAction::ExecuteAction()
PATH/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:540:0
#19 0x03640033 clang::CodeGenAction::ExecuteAction()
PATH/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:792:0
#20 0x032aea27 clang::FrontendAction::Execute()
PATH/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:443:0
#21 0x03266796
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
PATH/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:841:0
#22 0x033a11c6
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
PATH/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:222:0
#23 0x014c87ee cc1_main(llvm::ArrayRef, char const*,
void*) PATH/llvm/tools/clang/tools/driver/cc1_main.cpp:116:0
#24 0x014bf0b1 ExecuteCC1Tool(llvm::ArrayRef,
llvm::StringRef) PATH/llvm/tools/clang/tools/driver/driver.cpp:301:0
#25 0x014bfa31 main PATH/llvm/tools/clang/tools/driver/driver.cpp:366:0
#26 0x7f5a2adf3af5 __libc_start_main (/lib64/libc.so.6+0x21af5)
#27 0x014

[llvm-bugs] [Bug 26112] New: [REGRESSION] Compiler aborts in LTO while building SPEC benchmarks

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

Bug ID: 26112
   Summary: [REGRESSION] Compiler aborts in LTO while building
SPEC benchmarks
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Interprocedural Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: santosh.zanju...@amd.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 15603
  --> https://llvm.org/bugs/attachment.cgi?id=15603&action=edit
Test case

The regression is introduced in svn r257164.

Test case, log and command attached.

SPEC cpu 2006 bechmark failed with below assert:

clang-3.8: error: unable to execute command: Segmentation fault (core dumped)
clang-3.8: error: linker command failed due to signal (use -v to see
invocation)

-- 
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 26109] is_same::value == false

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

Dan Eloff  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Dan Eloff  ---
Sorry, you're completely right. That's exactly what I'm seeing, and all I
needed to do was declare the allocator using pair to
get it to compile.

So the bug is between the chair and the keyboard!

Thanks,
Dan

-- 
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 26113] New: python-lldb-3.8 does not contain lldb python module

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

Bug ID: 26113
   Summary: python-lldb-3.8 does not contain lldb python module
   Product: Packaging
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: deb packages
  Assignee: unassignedb...@nondot.org
  Reporter: tomasz.mia...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

I'm trying to use lldb-3.8 together with python, but lldb has trouble importing
lldb module:

  Traceback (most recent call last):
File "", line 1, in 
  ImportError: No module named lldb.embedded_interpreter

I am not sure what is main underlying cause, but I noticed a few potential
issues. 

1. Neither lldb-3.8, nor liblldb-3.8, nor python-lldb-3.8 seem to contain
Python module named lldb. Probably the closes one is liblldb-3.8 which contains
binary module named _lldb.so.

2. python-lldb-3.8 doesn't have any dependencies besides Python (maybe there is
yet another package that is required to make this work?)

3. python-lldb-3.8, contains invalid symbolic links, in particular two of
following:

  ./usr/lib/llvm-3.8/lib/python2.7/site-packages/lldb/libLLVM-3.8.0.so.1 ->
../../../x86_64-linux-gnu/libLLVM-3.8.0.so.1
  ./usr/lib/llvm-3.8/lib/python2.7/site-packages/lldb/libLLVM-3.8.so.1 ->
../../../x86_64-linux-gnu/libLLVM-3.8.0.so.1

After canonicalization, they point to following non-existing file:

  /usr/lib/llvm-3.8/lib/x86_64-linux-gnu/libLLVM-3.8.0.so.1

On the other hand, I have libLLVM-3.8.0 in following locations (first one is
symbolic link to the second one):

  /usr/lib/llvm-3.8/lib/libLLVM-3.8.0.so.1
  /usr/lib/x86_64-linux-gnu/libLLVM-3.8.so.1

I use following apt repository:

  deb http://llvm.org/apt/vivid/ llvm-toolchain-vivid main

Thanks,
Tomasz

-- 
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 26114] New: Many unnecessary mov instructions near call site

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

Bug ID: 26114
   Summary: Many unnecessary mov instructions near call site
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Register Allocator
  Assignee: unassignedb...@nondot.org
  Reporter: mcros...@codeaurora.org
CC: atr...@apple.com, hfin...@anl.gov,
llvm-bugs@lists.llvm.org, qcolom...@apple.com
Classification: Unclassified

Test case:
void foo(char *c, short s, float X, char C, long long LL, int I, double D);

void test(short s, float X, char C, long long LL, int I, double D) {
  foo("test", s, X, C, LL, I, D);
}

On AArch64 at -O3 the assembly output is as follows:
test:
mov  w8, w3
mov  x9, x2
mov  w10, w1
mov  w11, w0
adrpx0, .L.str
add x0, x0, :lo12:.L.str
mov  w1, w11
mov  w2, w10
mov  x3, x9
mov  w4, w8
b   foo

We should be able to generate something like this:
test:
adrpx5, .LC0
mov w4, w3
mov x3, x2
mov w2, w1
mov w1, w0
add x0, x5, :lo12:.LC0
b   foo

Which has 4 fewer moves.

-- 
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 16677] Crash on invalid: using a comma instead of closing angle bracket for template.

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

Serge Pavlov  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||sepavl...@gmail.com
 Resolution|--- |FIXED

--- Comment #2 from Serge Pavlov  ---
The problem was fixed in r256511.

-- 
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 26115] New: [Inliner] Callee with single call instruction not being inlined

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

Bug ID: 26115
   Summary: [Inliner] Callee with single call instruction not
being inlined
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Interprocedural Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: mcros...@codeaurora.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Test case ([test-suite] SingleSource/UnitTests/2003-10-29-ScalarReplBug.c):

#include 

typedef struct {
  char name [80];
  int val;
  unsigned uval;
} data;

static int callback(void *d);
static void iter(int (*)(void*), void *);

static int callback(void *d)
{
  data *iter_data = (data *)d;

  printf("%u\n", iter_data->uval);
  return iter_data->uval == 0;
}

static void iter(int (*cb)(void*), void *d)
{
  cb(d);
}

int main()
{
  data d;

  d.uval = 0;
  iter(callback, &d);
  return 0;
}


On AArch64 we currently generate the following assembly:
--
.text
.file"2003-10-29-ScalarReplBug.c"
.globlmain
.align2
.typemain,@function
main:   // @main
// BB#0:// %entry
stpx29, x30, [sp, #-16]!
mov x29, sp
subsp, sp, #96 // =96
addx0, sp, #8  // =8
strwzr, [sp, #92]
bliter
mov w0, wzr
mov sp, x29
ldpx29, x30, [sp], #16
ret
.Lfunc_end0:
.sizemain, .Lfunc_end0-main

.align2
.typeiter,@function
iter:   // @iter
// BB#0:// %entry
bcallback
.Lfunc_end1:
.sizeiter, .Lfunc_end1-iter

.align2
.typecallback,@function
callback:   // @callback
// BB#0:// %entry
stpx20, x19, [sp, #-32]!
stpx29, x30, [sp, #16]
mov x19, x0
ldrw1, [x19, #84]
adrpx0, .L.str
addx0, x0, :lo12:.L.str
addx29, sp, #16// =16
blprintf
ldrw8, [x19, #84]
ldpx29, x30, [sp, #16]
cmpw8, #0  // =0
cset w0, eq
ldpx20, x19, [sp], #32
ret
.Lfunc_end2:
.sizecallback, .Lfunc_end2-callback

.type.L.str,@object  // @.str
.section.rodata.str1.1,"aMS",@progbits,1
.L.str:
.asciz"%u\n"
.size.L.str, 4


.ident"clang version 3.8.0 (trunk 257341) (llvm/trunk 257344)"
.section".note.GNU-stack","",@progbits

--

Considering the body of iter is a single call to 'callback' I imagine it would
make sense to inline the call to iter.

-- 
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 26116] New: RuntimeDyldCOFFI386 error on IMAGE_REL_I386_REL32 for global function address mapping

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

Bug ID: 26116
   Summary: RuntimeDyldCOFFI386 error on IMAGE_REL_I386_REL32 for
global function address mapping
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: release blocker
  Priority: P
 Component: Generic Execution Engine Support
  Assignee: unassignedb...@nondot.org
  Reporter: vivien.mil...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

In RuntimeDyldCOFFI386.h
After Line: 151
We have : 
uint64_t Result = Sections[RE.Sections.SectionA].getLoadAddress() -
  Section.getLoadAddress() + RE.Addend - 4 - RE.Offset;

BUT
In case of global native C++ function mapping
(ExecutionEngine::addGlobalMapping(...)), RE.Sections.SectionA equals -1
(0x) which triggers a bad index assertion. 

Analysing and comparing to the In RuntimeDyldCOFFX86_64, we should treat a
special case when SectionA == -1 

I propose that code which works fine for me and retrieves on code generation
the good global address (i put the whole switch case)

 case COFF::IMAGE_REL_I386_REL32: {
  // 32-bit relative displacement to the target.
  uint64_t Result;
  if(RE.Sections.SectionA == static_cast(-1))
  {
  uint64_t FinalAddress = Section.getLoadAddressWithOffset(RE.Offset);
  Value -= FinalAddress + 4;
  Result = Value + RE.Addend;
  }
  else
  {
  Result = Sections[RE.Sections.SectionA].getLoadAddress() -
  Section.getLoadAddress() + RE.Addend - 4 - RE.Offset;
  }
  assert(static_cast(Result) <= INT32_MAX &&
 "relocation overflow");
  assert(static_cast(Result) >= INT32_MIN &&
 "relocation underflow");
  DEBUG(dbgs() << "\t\tOffset: " << RE.Offset
   << " RelType: IMAGE_REL_I386_REL32"
   << " TargetSection: " << RE.Sections.SectionA
   << " Value: " << format("0x%08" PRIx32, Result) << '\n');
  writeBytesUnaligned(Result, Target, 4);
  break;

-- 
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 23602] clang++ fails to compile libstdc++ debug/vector with -D_GLIBCXX_DEBUG -std=c++11 with libstdc++ 5.1+

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

Nico Weber  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #3 from Nico Weber  ---


*** This bug has been marked as a duplicate of bug 23381 ***

-- 
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 26117] New: msvc-cl and clang-cl disagree on what can be static_asserted

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

Bug ID: 26117
   Summary: msvc-cl and clang-cl disagree on what can be
static_asserted
   Product: clang
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: jmuizel...@mozilla.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

The following program compiles with msvc-cl but does not with clang-cl.

The Offsetof macro is the one from msvc's stddef.h

#include 

#define Offsetof(s,m)   (size_t)( (ptrdiff_t)&reinterpret_casts *)0)->m)) )

struct MyClass {
  int myMem;
};

static_assert(Offsetof(MyClass, myMem) == 0, "boom");

You can run into this when pre-processing source from msvc to compile with
clang-cl.

-- 
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 26110] clang c compiler produces wrong result for the attached c code with -O2 optimzation

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

Sanjay Patel  changed:

   What|Removed |Added

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

--- Comment #2 from Sanjay Patel  ---
The bug doesn't reproduce for me on trunk (r257365), so I'm going to resolve it
as 'fixed'.

I tried to use llvm bisect to find where this changed:
http://lists.llvm.org/pipermail/llvm-dev/2015-October/091140.html

$ llvmlab bisect /bin/sh -c '%(path)s/bin/clang -O2 bug.c && ./a.out | grep
"10"'

clang-r229097-t2015-02-13_02-38-20-b4745: first working build
clang-r229100-t2015-02-13_02-58-18-b4746: next failing build

That seems too far back, so I'm not sure if I invoked that correctly.

-- 
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 26117] msvc-cl and clang-cl disagree on what can be static_asserted

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

Richard Smith  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Richard Smith  ---
Neither GCC nor MSVC properly implement the C++11 constant expression rules in
this area. Casting between pointers and integers is not permitted in a constant
expression (and nor is the reinterpret_cast to cv char&).

Reid, it sounds like you don't think this is worth supporting as an MSVC
compatibility hack, so I'm going to close this. Please reopen if this is
important for MSVC compatibility on some important headers.

-- 
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 25999] spec2000/188.ammp, spec2006/433.milc, 444.namd, 447.dealII, 453.povray compilation fails on LTO stage after commit r256394

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

Sanjay Patel  changed:

   What|Removed |Added

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

--- Comment #17 from Sanjay Patel  ---
Thanks all for the test cases; sorry for the breakage.
Resolving as fixed.

-- 
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 26087] Building clangDynamicASTMatchers fails on Visual Studio 2015 in REGISTER_MATCHER(hasDeclaration);

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

James Y Knight  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassignedclangbugs@nondot. |jykni...@google.com
   |org |

--- Comment #4 from James Y Knight  ---
Fixed with r257392:

PR26087: Use nonstandard MSVC extension for VS2015 as well.

In r256564, I had conditioned the workaround in has_getDecl to only be
used for MSVC before the 2015 release, believing that 2015 could handle
the standard code. But, that was incorrect.

-- 
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 26088] Some AST matcher tests fail to compile on Visual Studio 2015.

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

juj...@gmail.com changed:

   What|Removed |Added

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

--- Comment #1 from juj...@gmail.com ---
Looks like this was caused by https://llvm.org/bugs/show_bug.cgi?id=26087, and
was resolved after that was fixed.

-- 
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 26095] -fsanitize=object-size checks sizes too eagerly

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

George Burgess  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from George Burgess  ---
After consulting someone with far more knowledge of C++ than I, it seems that
the example program does have UB; casting from base->derived using static_cast
is UB if the pointee isn't an instance of derived. Oops. :)

Closing this.

-- 
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 25802] Assertion `Hi->getOffset() >= Lo->getOffset() && "Expected Hi to be greater than Lo"' failed

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

Rafael Ávila de Espíndola  changed:

   What|Removed |Added

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

--- Comment #4 from Rafael Ávila de Espíndola  ---
Fixed in r257412.

-- 
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 26059] [meta] 3.8.0 Release Blockers

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

Bug 26059 depends on bug 25802, which changed state.

Bug 25802 Summary: Assertion `Hi->getOffset() >= Lo->getOffset() && "Expected 
Hi to be greater than Lo"' failed
https://llvm.org/bugs/show_bug.cgi?id=25802

   What|Removed |Added

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

-- 
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 25780] [META] Using Clang as the FreeBSD/ppc system compiler

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

Bug 25780 depends on bug 25802, which changed state.

Bug 25802 Summary: Assertion `Hi->getOffset() >= Lo->getOffset() && "Expected 
Hi to be greater than Lo"' failed
https://llvm.org/bugs/show_bug.cgi?id=25802

   What|Removed |Added

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

-- 
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 26118] New: TBAA failed to alias union in a very obvious code

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

Bug ID: 26118
   Summary: TBAA failed to alias union in a very obvious code
   Product: clang
   Version: unspecified
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: yi...@codeaurora.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

###---t.c###
typedef union
{
unsigned int b32[2];
long long int b64;
} Vector;

int bar();

unsigned int h264p_get_bits(Vector *c)
{
unsigned int v = c->b64;
c->b32[0]= bar();
return v;
}

clang t.c -S -O1 -mllvm -print-after-all
*** IR Dump After Module Verifier ***
; Function Attrs: nounwind
define i32 @h264p_get_bits(%union.Vector* %c) #0 {
entry:
  %c.addr = alloca %union.Vector*, align 4
  %v = alloca i32, align 4
  store %union.Vector* %c, %union.Vector** %c.addr, align 4, !tbaa !3
  %0 = bitcast i32* %v to i8*
  call void @llvm.lifetime.start(i64 4, i8* %0) #3
  %1 = load %union.Vector*, %union.Vector** %c.addr, align 4, !tbaa !3
  %b64 = bitcast %union.Vector* %1 to i64*
  %2 = load i64, i64* %b64, align 8, !tbaa !7 <<<- !7
  %conv = trunc i64 %2 to i32
  store i32 %conv, i32* %v, align 4, !tbaa !9
  %call = call i32 bitcast (i32 (...)* @bar to i32 ()*)()
  %3 = load %union.Vector*, %union.Vector** %c.addr, align 4, !tbaa !3
  %b32 = bitcast %union.Vector* %3 to [2 x i32]*
  %arrayidx = getelementptr inbounds [2 x i32], [2 x i32]* %b32, i32 0, i32 0
  store i32 %call, i32* %arrayidx, align 8, !tbaa !9 <<<- !9, not !7
  %4 = load i32, i32* %v, align 4, !tbaa !9
  %5 = bitcast i32* %v to i8*
  call void @llvm.lifetime.end(i64 4, i8* %5) #3
  ret i32 %4
}

Although I understand
Strictly speaking, reading a member of a union different from the one written
to is undefined in ANSI/ISO C99 except in the special case of type-punning to a
char*, similar to the example below: Casting to char*. However, it is an
extremely common idiom and is well-supported by all major compilers. As a
practical matter, reading and writing to any member of a union, in any order,
is acceptable practice.

And for type based AA, it should not strict aligned. However, for union, this
is very general usage, tbaa should output they are aliased, right.

-- 
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 25939] Regression(256332:256344): Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed while building chrome

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

Nico Weber  changed:

   What|Removed |Added

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

--- Comment #7 from Nico Weber  ---
Thanks! Our bots stayed green this time.

-- 
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