[llvm-bugs] [Bug 27278] New: crash with "-O3 -m32" on x86_64-linux-gnu (Assertion `!Traits::stopLess(b, a) && "Invalid interval"' failed.)

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27278

Bug ID: 27278
   Summary: crash with "-O3 -m32" on x86_64-linux-gnu (Assertion
`!Traits::stopLess(b, a) && "Invalid interval"'
failed.)
   Product: clang
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: chengnian...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The following code crashes the clang trunk at -O3 in 32-bit mode (not 64-bit
mode) on x86_64-linux-gnu.


$: clang-trunk -v
clang version 3.9.0 (trunk 265644)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/local/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0
Found candidate GCC installation:
/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3
Found candidate GCC installation:
/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.4
Found candidate GCC installation:
/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$: 
$: clang-trunk small.c -w -m32 -O3
clang-3.9:
/tmp/llvm-builder/llvm-source-trunk/include/llvm/ADT/IntervalMap.h:627:
unsigned int llvm::IntervalMapImpl::LeafNode< ,
, , 
>::insertFrom(unsigned int&, unsigned int, KeyT, KeyT, ValT) [with KeyT =
llvm::SlotIndex; ValT = unsigned int; unsigned int N = 9u; Traits =
llvm::IntervalMapInfo]: Assertion `!Traits::stopLess(b, a) &&
"Invalid interval"' failed.
0  clang-3.9   0x01d6bbf5
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  clang-3.9   0x01d69b86 llvm::sys::RunSignalHandlers() + 54
2  clang-3.9   0x01d69da4
3  libpthread.so.0 0x7f226d888340
4  libc.so.6   0x7f226caa6cc9 gsignal + 57
5  libc.so.6   0x7f226caaa0d8 abort + 328
6  libc.so.6   0x7f226ca9fb86
7  libc.so.6   0x7f226ca9fc32
8  clang-3.9   0x0186dd13
llvm::IntervalMapImpl::LeafNode >::insertFrom(unsigned int&, unsigned
int, llvm::SlotIndex, llvm::SlotIndex, unsigned int) + 1779
9  clang-3.9   0x01879fbc
10 clang-3.9   0x0187a94f
11 clang-3.9   0x0187c19d
12 clang-3.9   0x01811288
13 clang-3.9   0x01811ccb
14 clang-3.9   0x019434e2 llvm::RegAllocBase::allocatePhysRegs() +
306
15 clang-3.9   0x0180dba2
16 clang-3.9   0x01774e45
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 357
17 clang-3.9   0x019f4163
llvm::FPPassManager::runOnFunction(llvm::Function&) + 643
18 clang-3.9   0x019f47ab
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 619
19 clang-3.9   0x01eb2bd2
clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions
const&, clang::TargetOptions const&, clang::LangOptions const&,
llvm::DataLayout const&, llvm::Module*, clang::BackendAction,
llvm::raw_pwrite_stream*) + 3266
20 clang-3.9   0x024ce80a
21 clang-3.9   0x0280ed6d clang::ParseAST(clang::Sema&, bool, bool)
+ 845
22 clang-3.9   0x024ceb6e clang::CodeGenAction::ExecuteAction() +
78
23 clang-3.9   0x021b7a8e clang::FrontendAction::Execute() + 286
24 clang-3.9   0x0219083e
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 318
25 clang-3.9   0x02241d22
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 2370
26 clang-3.9   0x00ac4dd8 cc1_main(llvm::ArrayRef,
char const*, void*) + 3288
27 clang-3.9   0x00a808ad main + 6125
28 libc.so.6   0x7f226ca91ec5 __libc_start_main + 245
29 clang-3.9   0x00ac0e24
Stack dump:
0.Program arguments: /usr/local/clang-trunk/bin/clang-3.9 -cc1 -triple
i386-unknown-linux-gnu -emit-obj -disable-

[llvm-bugs] [Bug 27279] New: print-stack-trace.cc test case print "Dwarf Error: Info pointer extends beyond end of attributes"

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27279

Bug ID: 27279
   Summary: print-stack-trace.cc test case print "Dwarf Error:
Info pointer extends beyond end of attributes"
   Product: compiler-rt
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: compiler-rt
  Assignee: unassignedb...@nondot.org
  Reporter: cych...@multicorewareinc.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The error message occurs when we do clang bootstrap testing.

Reproduce Step:

1. Need a bootstrap version of clang

mkdir stage2 && cd stage2

CLANG_PATH=/path/to/clang/built/by/gcc
CC=$CLANG_PATH/bin/clang
CXX=$CLANG_PATH/bin/clang++

cmake -DCMAKE_C_COMPILER=$CC \
  -DCMAKE_CXX_COMPILER=$CXX \
  -DCMAKE_BUILD_TYPE=Release \
  /path/to/llvm/src

make -j8 check-sanitizer

2. Search the binary "print-stack-trace.cc.tmp" and execute it.

find -name 'print-stack-trace.cc.tmp' -exec {} \;

3. Output on x86:
/usr/bin/addr2line: Dwarf Error: Info pointer extends beyond end of attributes
.. (repeat 14 times)

#0 __sanitizer_print_stack_trace
/home/cycheng/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc:705
(print-stack-trace.cc.tmp+0x00478f45)
#1 main
/home/cycheng/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc:9
(print-stack-trace.cc.tmp+0x0049b14f)
#2 main
/home/cycheng/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc:13
(print-stack-trace.cc.tmp+0x0049b14f)
#3 __libc_start_main /build/glibc-ryFjv0/glibc-2.21/csu/libc-start.c:289
(libc.so.6+0x00020a3f)
#4 _start  (print-stack-trace.cc.tmp+0x0041a2f8)

4. Output on PPC:
/usr/bin/addr2line: Dwarf Error: Info pointer extends beyond end of attributes
.. (repeat 14 times)

#0 0x100a5238 in __sanitizer_print_stack_trace
/home/cycheng/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc:705
#1 0x100d54cc in FooBarBaz()
/home/cycheng/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc:9
#2 0x100d5464 in main
/home/cycheng/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cc:13

5. Platform Information:
   Tested version of llvm/clang/compiler-rt:
   - r265128/r265083/r265378
   - release_38/release_38/release_38

   /usr/bin/addr2line version:
   - on x86: 2.25.1
   - on ppc: 2.25

-- 
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 27280] New: [ppc64] add noinline attribute to "PrintCurrentStackSlow" cause print-stack-trace.cc test fail

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27280

Bug ID: 27280
   Summary: [ppc64] add noinline attribute to
"PrintCurrentStackSlow" cause print-stack-trace.cc
test fail
   Product: compiler-rt
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: compiler-rt
  Assignee: unassignedb...@nondot.org
  Reporter: cych...@multicorewareinc.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

It fails on PPC64 + linux platform.

Reproduce Step:

1. add noinline attribute to PrintCurrentStackSlow

vi llvm/projects/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc

__attribute__((noinline))
void PrintCurrentStackSlow(uptr pc) {
#ifndef SANITIZER_GO
..
#endif
}

2. make -j8 check-sanitizer
   Then you get test failure.

3. Expect output:
#0 0x100a53b8 in __sanitizer_print_stack_trace
#1 0x100d55ac in FooBarBaz()
#2 0x100d5544 in main

   But we actually get:
#0 0x100a53b8 in __sanitizer_print_stack_trace
#1 0x100a25c0 in __tsan::PrintCurrentStackSlow(unsigned long)
#2 0x100d55ac in FooBarBaz()
#3 0x100d5544 in main

4. Disassemble of tsan_rtl_report.cc.o

  __sanitizer_print_stack_trace:
mflr 0
std 0,16(1)
stdu 1,-32(1)
bl _ZN11__sanitizer10StackTrace12GetCurrentPcEv
nop
addi 1,1,32
ld 0,16(1)
mtlr 0
b _ZN6__tsan21PrintCurrentStackSlowEm<= becomes a sibling call

5. We found this bug when we enabled sibling-call-optimization for ppc64, and
did clang bootstrap testing. Clang will generate sibling call for
PrintCurrentStackSlow, and looks like it broke some assumption of
PrintCurrentStackSlow.

6. The fastest way to fix this issue is adding "-mllvm -disable-ppc-sco=true"
in
   compiler-rt/lib/tsan/CMakeLists.txt when we are ppc64.

   ${TSAN_RTL_CFLAGS} += -mllvm -disable-ppc-sco=true (if we are on ppc64)

-- 
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 26683] Misscompile of the 4th SCoP in "Perl_do_readline" in 400.perlbench (SPEC2006)

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=26683

Johannes Doerfert  changed:

   What|Removed |Added

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

--- Comment #4 from Johannes Doerfert  ---
Fixed in r265778.

-- 
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 27281] New: PowerPC64: Machine code verifier failure - Multiple connected components in live interval

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27281

Bug ID: 27281
   Summary: PowerPC64: Machine code verifier failure - Multiple
connected components in live interval
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: PowerPC
  Assignee: unassignedb...@nondot.org
  Reporter: an...@samba.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

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

I'm seeing a machine code verify failure with the attached test case:

# llc -O2 testcase.ll -verify-machineinstrs

...

*** Bad machine code: Multiple connected components in live interval ***
- function:main
- interval:%vreg300 [80r,88r:0)[2296r,2432B:1)  0@80r 1@2296r 2@x
0: valnos 0
1: valnos 1 2
LLVM ERROR: Found 1 machine code errors.

-- 
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 27282] New: trunk/llvm/lib/CodeGen/StackMaps.cpp:2 * redundant condition ?

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27282

Bug ID: 27282
   Summary: trunk/llvm/lib/CodeGen/StackMaps.cpp:2 * redundant
condition ?
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

trunk/llvm/lib/CodeGen/StackMaps.cpp:523]: (style) Redundant condition:
CSInfos.empty(). '!CSInfos.empty() || (CSInfos.empty() && ConstPool.empty())'
is equivalent to '!CSInfos.empty() || ConstPool.empty()'
trunk/llvm/lib/CodeGen/StackMaps.cpp:525]: (style) Redundant condition:
CSInfos.empty(). '!CSInfos.empty() || (CSInfos.empty() && FnStackSize.empty())'
is equivalent to '!CSInfos.empty() || FnStackSize.empty()'

Source code is

  assert((!CSInfos.empty() || (CSInfos.empty() && ConstPool.empty())) &&
 "Expected empty constant pool too!");
  assert((!CSInfos.empty() || (CSInfos.empty() && FnStackSize.empty())) &&
 "Expected empty function record too!");

-- 
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 27283] New: trunk/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:5079]: (style) Redundant condition:

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27283

Bug ID: 27283
   Summary: trunk/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:5079]:
(style) Redundant condition:
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

trunk/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:5079]: (style) Redundant
condition: LoopHeaders. '!LoopHeaders || (LoopHeaders &&
!LoopHeaders.count(BB))' is equivalent to '!LoopHeaders ||
!LoopHeaders.count(BB)'

Source code is

  if (I->isTerminator() && BB != &BB->getParent()->getEntryBlock() &&
  (!LoopHeaders || (LoopHeaders && !LoopHeaders->count(BB))) &&
  TryToSimplifyUncondBranchFromEmptyBlock(BB))

-- 
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 27284] New: Reverse the ownership between DICompileUnit and DISubprogram

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27284

Bug ID: 27284
   Summary: Reverse the ownership between DICompileUnit and
DISubprogram
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: DebugInfo
  Assignee: unassignedb...@nondot.org
  Reporter: apra...@apple.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16187
  --> https://llvm.org/bugs/attachment.cgi?id=16187&action=edit
a python script that updates LLVM IR testcases to the new format

Currently each Function points to a DISubprogram and DISubprogram has a scope
field. For member functions the scope is a DICompositeType. DIScopes never
point to the DICompileUnit to facilitate type uniquing.

Distinct DISubprograms (with isDefinition: true) are not part of the type
hierarchy and cannot be uniqued. I'm proposing to remove the subprograms list
from DICompileUnit and instead add a pointer to the owning compile unit to
distinct DISubprograms. This would make it easy for ThinLTO to strip unneeded
DISubprograms and their transitively referenced debug info.

Motivation
--

Materializing DISubprograms is currently the most expensive operation when
doing a ThinLTO build of clang.

We want the DISubprogram to be stored in a separate Bitcode block (or the same
block as the function body) so we can avoid having to expensively deserialize
all DISubprograms together with the global metadata. If a function has been
inlined into another subprogram we need to store a reference the block
containing the inlined subprogram.

Implementation
--

Attached is a python script that updates LLVM IR testcases to the new format.

-- 
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 27285] New: trunk/llvm/tools/clang/lib/CodeGen/CGExpr.cpp:2997]: (style) Redundant condition

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27285

Bug ID: 27285
   Summary: trunk/llvm/tools/clang/lib/CodeGen/CGExpr.cpp:2997]:
(style) Redundant condition
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

trunk/llvm/tools/clang/lib/CodeGen/CGExpr.cpp:2997]: (style) Redundant
condition: !IsLowerBound. 'A || (!A && B)' is equivalent to 'A || B'


Source code is

  if (IsLowerBound || (!IsLowerBound && E->getColonLoc().isInvalid())) {

-- 
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 27286] New: llvm/tools/clang/lib/Parse/ParseOpenMP.cpp:1599]: (style) Redundant condition

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27286

Bug ID: 27286
   Summary: llvm/tools/clang/lib/Parse/ParseOpenMP.cpp:1599]:
(style) Redundant condition
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

llvm/tools/clang/lib/Parse/ParseOpenMP.cpp:1599]: (style) Redundant condition:
MapTypeModifierSpecified. '!A || (A && B)' is equivalent to '!A || B'

Source code is

  bool IsComma =
  ((Kind != OMPC_reduction) && (Kind != OMPC_depend) &&
   (Kind != OMPC_map)) ||
  ((Kind == OMPC_reduction) && !InvalidReductionId) ||
  ((Kind == OMPC_map) && (MapType != OMPC_MAP_unknown) &&
   (!MapTypeModifierSpecified ||
(MapTypeModifierSpecified && MapTypeModifier == OMPC_MAP_always))) ||
  ((Kind == OMPC_depend) && DepKind != OMPC_DEPEND_unknown);

-- 
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 27287] New: llvm/tools/clang/lib/Sema/SemaOverload.cpp:1828]: (style) Redundant condition

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27287

Bug ID: 27287
   Summary: llvm/tools/clang/lib/Sema/SemaOverload.cpp:1828]:
(style) Redundant condition
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

llvm/tools/clang/lib/Sema/SemaOverload.cpp:1828]: (style) Redundant condition:
!FromType.isSignedIntegerType(). 'A || (!A && B)' is equivalent to 'A || B'

Source code is

if (// We can promote any signed, promotable integer type to an int
(FromType->isSignedIntegerType() ||
 // We can promote any unsigned integer type whose size is
 // less than int to an int.
 (!FromType->isSignedIntegerType() &&
  Context.getTypeSize(FromType) < Context.getTypeSize(ToType {

-- 
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 27288] New: llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp:585]: (style) Redundant condition

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27288

Bug ID: 27288
   Summary: llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInval
idationChecker.cpp:585]: (style) Redundant condition
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp:585]:
(style) Redundant condition: InvalidationMethod. '!A || (A && B)' is equivalent
to '!A || B'

Source code is

if (!InvalidationMethod ||
(InvalidationMethod && I->second.hasMethod(InvalidationMethod)))

-- 
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 27289] New: llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp:1132]: (style) Redundant condition

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27289

Bug ID: 27289
   Summary: llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.c
pp:1132]: (style) Redundant condition
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: dcb...@hotmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp:1132]: (style)
Redundant condition: ROffset. '!A || (A && B)' is equivalent to '!A || B'

Source code is

if (!ROffset ||
(ROffset &&
 ((*ROffset >= LowerOffset && *ROffset < UpperOffset) ||
  (UpperOverflow &&
   (*ROffset >= LowerOffset || *ROffset < UpperOffset)) ||
  (LowerOffset == UpperOffset && *ROffset == LowerOffset {

-- 
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 22941] [asm inline] integer template parameter as immediate 'I' expects an integer constant

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=22941

Sunil Srivastava  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||sunil_srivastava@playstatio
   ||n.sony.com
 Resolution|--- |FIXED

--- Comment #2 from Sunil Srivastava  ---
Fixed in r242175

Integer template parameter as immediate 'I' expectes an integer constant
Basically fixed premature testing of integer constraints during template
parsing
Reviewed at http://reviews.llvm.org/D10452

-- 
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 27290] New: clang [built from source] on Mageia v6/Cauldron x86-64 fails with an error on the Hello World program

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27290

Bug ID: 27290
   Summary: clang [built from source] on Mageia v6/Cauldron x86-64
fails with an error on the Hello World program
   Product: clang
   Version: 3.8
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: shlo...@shlomifish.org
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Hi all,

I previously reported a similar bug (with the Mageia Linux packages) here -
https://bugs.mageia.org/show_bug.cgi?id=18138 . Anyway, building llvm and then
clang from source using this bash script:

#!/bin/bash
b='/opt/llvm'
export PATH="$b/bin:$PATH"
export PKG_CONFIG_PATH="$b/lib64/pkgconfig:$b/lib/pkgconfig:$PKG_CONFIG_PATH"
cmake -DCMAKE_BUILD_TYPE="release" -DCMAKE_INSTALL_PREFIX="$b" "$@"

And doing "make -j4 ; make -j4 check ; make -j4 install" and then running clang
from /opt/llvm on the hello world program results in an error (at least here on
Mageia Linux x86-64 v6):

< SHELL >
shlomif@telaviv1 C/snippets/shlomif-c-snippets $ cat hello_world.c 
/*
 * The canonical Hello World program kept here to avoid code duplication
 *
 * License is the MIT/X11 license - http://opensource.org/licenses/MIT .
 * ( https://en.wikipedia.org/wiki/MIT_License ).
 */
#include 

int main(void)
{
printf ("%s\n", "Hello World!");

return 0;
}
shlomif@telaviv1 C/snippets/shlomif-c-snippets $ /opt/llvm/bin/clang
hello_world.c
/..//bin/ld: cannot find crtbegin.o: No such file or directory
/..//bin/ld: cannot find -lgcc
clang-3.8: error: linker command failed with exit code 1 (use -v to see
invocation)
shlomif@telaviv1 C/snippets/shlomif-c-snippets $ 
< / SHELL >

I'll attach the strace output of clang soon.

-- 
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 21297] [ARM] Allow selection of the SMULW[BT] and SMLAW[BT] instructions

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=21297

Sam Parker  changed:

   What|Removed |Added

 Status|ASSIGNED|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 27291] New: [X86] Failure to fold v2i32 load into CVTDQ2PD

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27291

Bug ID: 27291
   Summary: [X86] Failure to fold v2i32 load into CVTDQ2PD
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: llvm-...@redking.me.uk
CC: llvm-bugs@lists.llvm.org, spatel+l...@rotateright.com
Classification: Unclassified

define <2 x double> @cvt_2i32_2f64(<2 x i32>* %p, <2 x double>* %q) {
  %n = load <2 x i32>, <2 x i32>* %p
  %z = sitofp <2 x i32> %n to <2 x double>
  ret <2 x double> %z
}

llc -mtriple=x86_64-unknown -mcpu=btver2:

cvt_2i32_2f64:
vmovq   (%rdi), %xmm0   # xmm0 = mem[0],zero
vcvtdq2pd   %xmm0, %xmm0
retq

(v)cvtdq2pd supports either an XMM register or a 64-bit memory location as the
source parameter but it appears the patterns are missing to fold the 64-bit
load.

-- 
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 27195] Delinearization fails to recognize the correct access function

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27195

Michael Kruse  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--- Comment #12 from Michael Kruse  ---
Fixed in r265379 and r265795.

-- 
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 27292] New: clang gives me weired errors and crash sometimes when gmake -j 24

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27292

Bug ID: 27292
   Summary: clang gives me weired errors and crash sometimes when
gmake -j 24
   Product: clang
   Version: 3.7
  Hardware: All
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: sriskanthaverl.x.kanagasa...@barclays.com
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

-- 
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 27236] Instcombine tries to create invalid IR

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27236

David Majnemer  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassignedb...@nondot.org   |david.majne...@gmail.com

--- Comment #3 from David Majnemer  ---
Fixed in r265805.

-- 
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 27197] [Meta] Inline assembly constraint support for ARM

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27197

Bug 27197 depends on bug 27250, which changed state.

Bug 27250 Summary: aarch64 inline assembly adds number as "#24" instead of 
plain "24" in the context of .set
https://llvm.org/bugs/show_bug.cgi?id=27250

   What|Removed |Added

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

-- 
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 27250] aarch64 inline assembly adds number as "#24" instead of plain "24" in the context of .set

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27250

Renato Golin  changed:

   What|Removed |Added

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

--- Comment #3 from Renato Golin  ---
To be clear, what's going on here is that in AArch64, ARM ARM (C1.2), the
assembler is allowed (but not compelled) to not use hashes for immediates,
which is not true for ARMv7 and previous.

Whoever wrote that code abused of a specific behaviour that was not intended
for that kind of inline asm constraint. There is nothing to fix in the
compiler, since the code is not invalid. We just need to find another
constraint code to make it output expressions, rather than immediates.

The proper fix is to change the code to:

void foo () {
  asm(".globl test; .set test, %c0" :: "I"(24));
}

Works on ARM and AArch64, GCC and Clang.

(hat tip to Jim Wilson)

-- 
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 27218] Delinearization + casts generate wrong array types

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27218

Michael Kruse  changed:

   What|Removed |Added

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

--- Comment #2 from Michael Kruse  ---
Fixed together with PR27195 in r265795. Additional test case committed in
r265809.

-- 
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 27227] TestImport fails on Python 3

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27227

Adrian McCarthy  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|lldb-...@lists.llvm.org |amcca...@google.com

--- Comment #1 from Adrian McCarthy  ---
Root cause was failure to escape the backslashes in a path on Windows.

http://reviews.llvm.org/rL265738

-- 
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 26379] -DLLVM_LINK_LLVM_DYLIB:BOOL=ON -DLINK_POLLY_INTO_TOOLS:BOOL=ON fails to bootstrap

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=26379

Tobias Grosser  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #4 from Tobias Grosser  ---
I close this as I did not get any feedback for a while. Please reopen if this
bug still exists

-- 
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 27013] Delinearization fails and produces invariant access function for variant access

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27013

Michael Kruse  changed:

   What|Removed |Added

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

--- Comment #1 from Michael Kruse  ---
MultiSource/Benchmarks/mediabench/jpeg with -polly-allow-unsigned now works
since r265379.

The mentioned multidimensional access didn't seem to be the cause. However,
after r265795, it also doesn't host lastblockrow anymore.

-- 
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 27293] New: clang-cl precompiled headers /Yc and /Yu

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27293

Bug ID: 27293
   Summary: clang-cl precompiled headers /Yc and /Yu
   Product: clang
   Version: 3.8
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: Driver
  Assignee: unassignedclangb...@nondot.org
  Reporter: ignacio.slipk...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

clang-cl doesn't seem to support /Yc and /Yu flags which are used for
precompiled header creation and usage in cl.exe, respectively.

-- 
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 26851] clang-cl doesn't recognize -fuse-ld=lld

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=26851

Ignat  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

-- 
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 27294] New: Dead argument elimination does not respect TCK_MustTail attribute

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27294

Bug ID: 27294
   Summary: Dead argument elimination does not respect
TCK_MustTail attribute
   Product: new-bugs
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: pe...@trailofbits.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

The following function will have its argument eliminated, which ends up
producing malformed code.

; ModuleID = '/tmp/bug.bc'
declare fastcc void @bar(i64)
; Function Attrs: noinline
define private fastcc void @foo(i64) unnamed_addr #0 {
entry:
  musttail call fastcc void @bar(i64 999)
  ret void
}
define fastcc void @baz(i64) unnamed_addr {
entry:
  musttail call fastcc void @foo(i64 %0)
  ret void
}
attributes #0 = { noinline }


When optimized with -O1/-O2/-O3 , this produces invalid bitcode because @foo
doesn't use its argument, but this argument must remain in order for the
tail-call to @bar to remain valid.

The following error is reported:

cannot guarantee tail call due to mismatched parameter counts
  musttail call fastcc void @bar(i64 999)
LLVM ERROR: Broken function found, compilation aborted!

-- 
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 27295] New: Giving struct with member as argument to __global__ function produces illegal memory access

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27295

Bug ID: 27295
   Summary: Giving struct with member as argument to __global__
function produces illegal memory access
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: CUDA
  Assignee: unassignedclangb...@nondot.org
  Reporter: crtr...@sandia.gov
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16191
  --> https://llvm.org/bugs/attachment.cgi?id=16191&action=edit
Reproducer

I am giving a struct with a pointer to int as member as an argument to a global
function. When using the pointer (which was set through a cudaMalloc call) I
get an illegal memory access error. The code works fine with NVCC. The basic
pattern is:

struct Bar {
  int* ptr;
};

__global__
void foo(Bar b) {
  b.ptr[0] = 1;
}

A reproducer is attached.

-- 
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 27296] New: LVI should understand conditional branches where the condition is a conjunction or disjunction

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27296

Bug ID: 27296
   Summary: LVI should understand conditional branches where the
condition is a conjunction or disjunction
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: reg...@cs.utah.edu
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

LVI is perfectly capable of learning from sequenced simple branches:

  %cmp = icmp sgt i32 %x, 20
  br i1 %cmp, label %cont, label %if.end3
  %cmp1 = icmp sgt i32 %y, 200
  br i1 %cmp1, label %if.then2, label %if.end3
  %add = add nsw i32 %y, %x

However, after SimplifyCFG we're instead looking at code like this:

  %cmp = icmp sgt i32 %x, 20
  %cmp1 = icmp sgt i32 %y, 200
  %or.cond = and i1 %cmp, %cmp1
  br i1 %or.cond, label %if.then2, label %if.end3

And now LVI learns nothing. A mix would be to cause LVI to look for cases where
an i1 that goes to a branch is the result of an and, and recursively accumulate
dataflow facts.

Though it's probably less important, LVI can also learn facts when flags are
or'ed, for example:

  %cmp = icmp eq i32 %x, 10
  %cmp1 = icmp eq i32 %x, 12
  %or.cond = or i1 %cmp, %cmp1
  br i1 %or.cond, label %if.then2, label %if.end3

-- 
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 26851] clang-cl doesn't recognize -fuse-ld=lld

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=26851

Reid Kleckner  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WONTFIX |---

--- Comment #3 from Reid Kleckner  ---
Keeping this open, this is probably worth doing at some point, since some build
systems do invoke cl to link, and we might want to use lld in that case.

-- 
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 27299] New: IRPGO crashes calling getBBInfo on BB not in BBInfos

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27299

Bug ID: 27299
   Summary: IRPGO crashes calling getBBInfo on BB not in BBInfos
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: normal
  Priority: P
 Component: Miscellaneous Instrumentation passes
  Assignee: unassignedb...@nondot.org
  Reporter: jvanadrig...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16193
  --> https://llvm.org/bugs/attachment.cgi?id=16193&action=edit
Minimal reproducer. Requires attached profdata.

When applying prof data to a function with 2 Basic Blocks where the 2nd is
unreachable, the IRPGO pass crashes. I believe this is due to the unreachable
block not being entered into BBInfos in CFGMST and then later having getBBInfo
called on it. I will attach a patch which applies one of a couple solutions.

The attached profdata has a few counts for the entry block.

Minimal repro shown below and attached:

declare void @foo(%footype*) unnamed_addr #1 align 2

define void @mainfunc(%footype* %this) unnamed_addr #1 align 2 {
entry:
  unreachable

foo.exit:; No predecessors!
  ret void
}

-- 
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 25501] Clang crashes with -fmodules to compile clang-interpreter/main.cpp

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=25501

Richard Smith  changed:

   What|Removed |Added

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

--- Comment #8 from Richard Smith  ---
Fixed in r265848.

-- 
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 27301] New: Templated global functions don't work if marked static

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27301

Bug ID: 27301
   Summary: Templated global functions don't work if marked static
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: CUDA
  Assignee: unassignedclangb...@nondot.org
  Reporter: crtr...@sandia.gov
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16196
  --> https://llvm.org/bugs/attachment.cgi?id=16196&action=edit
Reproducer

When marking a __global__ function as static if it is also templated the code
errors out with invalid device function. Simplified example:

template
__global__
static void foo(Scalar i) {
}

doesn't work. A reproducer is attached. Again change the path names in the
build_clang script. Works with nvcc.

-- 
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 27302] New: Clang integrated aarch64 assembler crashes with segfault

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27302

Bug ID: 27302
   Summary: Clang integrated aarch64 assembler crashes with
segfault
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: LLVM assembly language parser
  Assignee: unassignedb...@nondot.org
  Reporter: hxy9...@gmail.com
CC: llvm-bugs@lists.llvm.org
Classification: Unclassified

Created attachment 16197
  --> https://llvm.org/bugs/attachment.cgi?id=16197&action=edit
The reduced assembly file that causes the clang segfault.

Clang with aarch64 backend crashes when trying to compile CoreMark benchmark,
which has inline ARM assembly. Following is the clang version and stderr
output.

I've attached the reduced main assembly file as attachment.

Clang is trunk version as of 04/07, with revision r265744.


   $CC -cc1as -triple aarch64-sarc-linux-gnu -filetype obj -o main.o
main_reduced.s
0  libLLVMSupport.so  0x7f46e9076e25
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  libLLVMSupport.so  0x7f46e9074bc6 llvm::sys::RunSignalHandlers() + 54
2  libLLVMSupport.so  0x7f46e9074db3
3  libc.so.6  0x7f46e74ecd40
4  libLLVMMC.so   0x7f46e98b8ad4
llvm::MCDwarfFrameEmitter::Emit(llvm::MCObjectStreamer&, llvm::MCAsmBackend*,
bool) + 5636
5  libLLVMMC.so   0x7f46e98be030 llvm::MCELFStreamer::FinishImpl() + 64
6  libLLVMMCParser.so 0x7f46e965a757
7  clang-3.9  0x00410f11
8  clang-3.9  0x0041431b cc1as_main(llvm::ArrayRef, char const*, void*) + 8251
9  clang-3.9  0x0040d7c4 main + 8132
10 libc.so.6  0x7f46e74d7ec5 __libc_start_main + 245
11 clang-3.9  0x0040a7d9
Stack dump:
0.  Program arguments:
/sarc-c/compiler_tmp/tools/cross/llvm-3.9/2016-04-07-23-10-14-d11e1a4-master/bin/clang-3.9
-cc1as -triple aarch64-sarc-linux-gnu -filetype obj -o main.o main1.s
1.  Program arguments: -triple aarch64-sarc-linux-gnu -filetype obj -o
main.o main1.s
0  libLLVMSupport.so  0x7f46e9076e25
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  libLLVMSupport.so  0x7f46e9074bc6 llvm::sys::RunSignalHandlers() + 54
2  libLLVMSupport.so  0x7f46e9074db3
3  libc.so.6  0x7f46e74ecd40
4  libLLVMMC.so   0x7f46e98b8ad4
llvm::MCDwarfFrameEmitter::Emit(llvm::MCObjectStreamer&, llvm::MCAsmBackend*,
bool) + 5636
5  libLLVMMC.so   0x7f46e98be030 llvm::MCELFStreamer::FinishImpl() + 64
6  libLLVMMCParser.so 0x7f46e965a757
7  clang-3.9  0x00410f11
8  clang-3.9  0x0041431b cc1as_main(llvm::ArrayRef, char const*, void*) + 8251
9  clang-3.9  0x0040d7c4 main + 8132
10 libc.so.6  0x7f46e74d7ec5 __libc_start_main + 245
11 clang-3.9  0x0040a7d9
[1]11609 segmentation fault (core dumped)  $CC -cc1as -triple
aarch64-sarc-linux-gnu -filetype obj -o main.o main.s

-- 
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 27303] New: sanitizer LangOpts not checked when checking for incompatible module files

2016-04-08 Thread via llvm-bugs
https://llvm.org/bugs/show_bug.cgi?id=27303

Bug ID: 27303
   Summary: sanitizer LangOpts not checked when checking for
incompatible module files
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Modules
  Assignee: unassignedclangb...@nondot.org
  Reporter: richard-l...@metafoo.co.uk
CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
Classification: Unclassified

We don't check whether the sanitizer LangOpts have changed when checking
whether a module file is out of date. Some of these options can affect the
interpretation of source code, because they impact the behaviour of
__has_feature(foo_sanitizer).

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