[llvm-bugs] [Bug 42940] [MemorySSA] Assertion failed: "Incorrect incoming access into phi."

2019-08-25 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42940

Jonas Paulsson  changed:

   What|Removed |Added

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

--- Comment #8 from Jonas Paulsson  ---
Looks like there are more problems with this... Reduced two fresh test cases.

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


[llvm-bugs] [Bug 43107] New: missed opt: function argument attribute propagation

2019-08-25 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=43107

Bug ID: 43107
   Summary: missed opt: function argument attribute propagation
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Scalar Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: gonzalob...@gmail.com
CC: llvm-bugs@lists.llvm.org

See (https://llvm.godbolt.org/z/QJIvwX). This LLVM-IR: 

define void @bar(i32* %x) local_unnamed_addr #0 {
  tail call void @foo(i32* %x)
  ret void
}
declare void @foo(i32* noalias align 4 dereferenceable(4)) local_unnamed_addr
#0
attributes #0 = { nounwind nonlazybind }

is not optimized further by `opt`, but I'd expect the definition of `bar` to be
optimized to:

define void @bar(i32* noalias align 4 dereferenceable(4) %x) local_unnamed_addr
#0

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


[llvm-bugs] [Bug 43108] New: Add default include path and link libraries.

2019-08-25 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=43108

Bug ID: 43108
   Summary: Add default include path and link libraries.
   Product: parallel STL
   Version: unspecified
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: New
  Assignee: ldio...@apple.com
  Reporter: alexe...@xiphos.de
CC: llvm-bugs@lists.llvm.org

Created attachment 22424
  --> https://bugs.llvm.org/attachment.cgi?id=22424&action=edit
Build instructions for the LLVM toolchain.

When using a complete LLVM toolkit with ParallelSTL and TBB backend, you have
to add the include directory (always) and tbb library (when std::execution::par
is used) manually.

Since it is part of the standard library now, the include path should not be
added manually.

The '-ltbb' part is debatable and I totally understand why it can be a bad idea
to do it automatically.

Here is a minimal complete viable example:

  // main.cpp
  #include 
  #include 
  #include 
  #include 
  #include 
  int main() {
std::mutex mutex;
std::vector v = { 0, 1, 2, 3, 4 };
std::for_each(std::execution::par, v.begin(), v.end(), [&](auto i) {
  std::lock_guard lock(mutex);
  std::cout << i << std::endl;
});
  }

When compiled with 'clang++ main.cpp', the error is:

  In file included from main.cpp:2:
  In file included from /opt/llvm/bin/../include/c++/v1/algorithm:643:
  /opt/llvm/bin/../include/c++/v1/memory:5594:13: fatal error: '__pstl_memory'
file not found
  #   include <__pstl_memory>
  ^~~
  1 error generated.

When compiled with 'clang++ -I/opt/llvm/include main.cpp', the error is:

  ld.lld: error: undefined symbol:
tbb::interface7::internal::isolate_within_arena(tbb::interface7::internal::delegate_base&,
long)
  ...

It only works when compiled with 'clang++ -I/opt/llvm/include main.cpp -ltbb'.

Build instructions for the LLVM toolchain (git commit 918246788) used to test
it in WSL (Ubuntu 18.04.3 LTS) are attached to this bug report.

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


[llvm-bugs] Issue 16758 in oss-fuzz: llvm:clang-format-fuzzer: Null-dereference READ in clang::format::TokenAnnotator::splitPenalty

2019-08-25 Thread ClusterFuzz-External via monorail via llvm-bugs

Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevlieg...@apple.com,  
igm...@gmail.com, mit...@google.com, bigchees...@gmail.com,  
eney...@google.com, llvm-b...@lists.llvm.org, j...@chromium.org,  
v...@apple.com, mitchphi...@outlook.com, xpl...@gmail.com,  
akils...@apple.com
Labels: ClusterFuzz Stability-Memory-AddressSanitizer Reproducible  
Engine-libfuzzer OS-Linux Proj-llvm Reported-2019-08-25

Type: Bug

New issue 16758 by ClusterFuzz-External: llvm:clang-format-fuzzer:  
Null-dereference READ in clang::format::TokenAnnotator::splitPenalty

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16758

Detailed Report: https://oss-fuzz.com/testcase?key=5646479716253696

Project: llvm
Fuzzing Engine: libFuzzer
Fuzz Target: clang-format-fuzzer
Job Type: libfuzzer_asan_llvm
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x0050
Crash State:
  clang::format::TokenAnnotator::splitPenalty
  clang::format::TokenAnnotator::calculateFormattingInformation
  clang::format::Formatter::analyze

Sanitizer: address (ASAN)

Regressed:  
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=201709130450:201709140449


Reproducer Testcase:  
https://oss-fuzz.com/download?testcase_id=5646479716253696


Issue filed automatically.

See https://google.github.io/oss-fuzz/advanced-topics/reproducing for  
instructions to reproduce this bug locally.


--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] Issue 14613 in oss-fuzz: llvm/clang-fuzzer: Stack-overflow in clang::DeclContext::lookup

2019-08-25 Thread ClusterFuzz-External via monorail via llvm-bugs

Updates:
Labels: ClusterFuzz-Verified
Status: Verified

Comment #3 on issue 14613 by ClusterFuzz-External: llvm/clang-fuzzer:  
Stack-overflow in clang::DeclContext::lookup

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14613#c3

ClusterFuzz testcase 5759648210092032 is verified as fixed in  
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=201908240322:201908250319


If this is incorrect, please file a bug on  
https://github.com/google/oss-fuzz/issues/new


--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 43110] New: Detecting symbol conflicts between static libraries

2019-08-25 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=43110

Bug ID: 43110
   Summary: Detecting symbol conflicts between static libraries
   Product: lld
   Version: unspecified
  Hardware: All
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: ELF
  Assignee: unassignedb...@nondot.org
  Reporter: ori...@gmx.fr
CC: llvm-bugs@lists.llvm.org, peter.sm...@linaro.org

Created attachment 22425
  --> https://bugs.llvm.org/attachment.cgi?id=22425&action=edit
--uniqdefs for LLD 8.0.1

Consider an executable built from multiple static libraries. The linker ignores
those objects in the static libraries that do not contribute any needed
symbols. In my experience at Yandex this behavior turned out to be brittle and
error prone. The most common source of errors is when one open source project
copies (parts of) another open source project into its code base (and alters
it, or the original project diverges): if an application depends on both
projects, the linker selects one copy and silently ignores the other which
leads to unexpected behavior at runtime. The second most common source are
small object files that define just a couple of generically named symbols.

One solution to prevent such errors is to link all static libraries with
--whole-archive. However, it is difficult to introduce this into the code base
focused on static linking which expects that unneeded objects are not included
(e.g. when they require the application to supply additional symbols to be used
by the optional object files), and it is costly (either the binary size
increases, or you relink without --whole-archive and the time doubles, or you
link in parallel and the memory doubles).

I would like to propose another solution that seems generally useful and
recommended for all statically built projects. We may want to make sure that a
strongly defined symbol has a single definition across all linker inputs
(including unused objects in static libraries — everything else is handled by
the default -z nomuldefs), but then it would become difficult to intentionally
shadow library symbols by custom overrides (and it is more difficult to
implement in LLD), so we want to ensure the single definition across all static
libraries (which is almost as good if not better). In order to do that we visit
all inputs to build the symbol table as usual, and then we visit libraries
again and add those library objects that define symbols that are already
strongly defined to cause multiple definitions error. (This can be implemented
with essentially zero overhead when there are no multiple definitions.)

One consequence is that it becomes an error to list the same library twice on
the command line (since it is surprisingly difficult to properly deduplicate
input files), so just like --no-whole-archive the new option (currently called
--uniqdefs) needs a counterpart (--no-uniqdefs) to delimit the controlled list
of libraries from the rest.

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


[llvm-bugs] Issue 16769 in oss-fuzz: llvm:clang-fuzzer: Stack-overflow in clang::FunctionProtoType::getExtProtoInfo

2019-08-25 Thread ClusterFuzz-External via monorail via llvm-bugs

Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevlieg...@apple.com,  
igm...@gmail.com, mit...@google.com, bigchees...@gmail.com,  
eney...@google.com, llvm-b...@lists.llvm.org, j...@chromium.org,  
v...@apple.com, mitchphi...@outlook.com, xpl...@gmail.com,  
akils...@apple.com
Labels: ClusterFuzz Stability-Memory-AddressSanitizer Reproducible  
Engine-libfuzzer OS-Linux Proj-llvm Reported-2019-08-26

Type: Bug

New issue 16769 by ClusterFuzz-External: llvm:clang-fuzzer: Stack-overflow  
in clang::FunctionProtoType::getExtProtoInfo

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16769

Detailed Report: https://oss-fuzz.com/testcase?key=5631275213258752

Project: llvm
Fuzzing Engine: libFuzzer
Fuzz Target: clang-fuzzer
Job Type: libfuzzer_asan_llvm
Platform Id: linux

Crash Type: Stack-overflow
Crash Address: 0x7ffd1b28fef8
Crash State:
  clang::FunctionProtoType::getExtProtoInfo
  clang::FunctionProtoType::Profile
  llvm::ContextualFoldingSetclang::ASTContext&>::NodeEq


Sanitizer: address (ASAN)

Regressed:  
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=201807110801:201807230239


Reproducer Testcase:  
https://oss-fuzz.com/download?testcase_id=5631275213258752


Issue filed automatically.

See https://google.github.io/oss-fuzz/advanced-topics/reproducing for  
instructions to reproduce this bug locally.


--
You received this message because:
  1. You were specifically CC'd on the issue

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Reply to this email to add a comment.
___
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs