[llvm-bugs] Issue 31292 in oss-fuzz: llvm:llvm-opt-fuzzer--x86_64-sccp: Out-of-memory in llvm-opt-fuzzer--x86_64-sccp

2021-02-23 Thread ClusterFuzz-External via monorail via llvm-bugs
Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevl...@apple.com, igm...@gmail.com, 
d...@google.com, mit...@google.com, bigch...@gmail.com, eney...@google.com, 
llvm-...@lists.llvm.org, j...@chromium.org, v...@apple.com, 
mitch...@outlook.com, xpl...@gmail.com, akils...@apple.com 
Labels: ClusterFuzz Reproducible Engine-libfuzzer OS-Linux Proj-llvm 
Reported-2021-02-23
Type: Bug

New issue 31292 by ClusterFuzz-External: llvm:llvm-opt-fuzzer--x86_64-sccp: 
Out-of-memory in llvm-opt-fuzzer--x86_64-sccp
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31292

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

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

Crash Type: Out-of-memory (exceeds 2560 MB)
Crash Address: 
Crash State:
  llvm-opt-fuzzer--x86_64-sccp
  
Sanitizer: address (ASAN)

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

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

Issue filed automatically.

See https://google.github.io/oss-fuzz/advanced-topics/reproducing for 
instructions to reproduce this bug locally.
When you fix this bug, please
  * mention the fix revision(s).
  * state whether the bug was a short-lived regression or an old bug in any 
stable releases.
  * add any other useful information.
This information can help downstream consumers.

If you need to contact the OSS-Fuzz team with a question, concern, or any other 
feedback, please file an issue at https://github.com/google/oss-fuzz/issues. 
Comments on individual Monorail issues are not monitored.

-- 
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 49328] New: Fix fatal error reported on Windows when stdout fed to process which terminates before all output written

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49328

Bug ID: 49328
   Summary: Fix fatal error reported on Windows when stdout fed to
process which terminates before all output written
   Product: tools
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: llvm-objdump
  Assignee: unassignedb...@nondot.org
  Reporter: jh7370.2...@my.bristol.ac.uk
CC: llvm-bugs@lists.llvm.org

I'm filing this against llvm-objdump, as that was the tool where this was first
noticed, but the issue is likely generic to most tools that produce stdout
output that might be redirected to the stdin of another process. If the other
process terminates before reading all the output (for example a tool like
"head"), then a crash in llvm-objdump is seen.

Example head.c:
#include 

static char buf[10240];
extern int atoi(const char *);

int main(int argc, char **argv)
{
  int i, n = atoi(argv[1]);
  for (i=0; illvm-objdump -d test.elf | head 10

LLVM ERROR: IO failure on output stream: invalid argument
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.

Sometimes the backtrace doesn't appear after this, sometimes it does.

I debugged the behaviour. The error is reported because an error is stored in
the raw_fd_ostream for stdout, which hasn't been cleared, and as such a
report_fatal_error is triggered in the raw_fd_ostream's destructor. The error
is originally generated during a call to write_impl, and actually comes from
the call to ::write in that function. ::write sets errno to EINVAL, which is
the value stored in the stream's EC member.

After digging into the behaviour of ::write, I discovered the actual error
comes from an underlying call to WriteFile, after which the GetLastError()
return is ERROR_NO_DATA. Later, this value is translated into EINVAL for
placing in errno, which is not a particularly useful value for errno, as it
could represent a number of different failures. ERROR_NO_DATA on the other hand
is somewhat clearer - it appears to signal that the reader end of the pipe has
been closed when the writer attempts to write to it. I have searched around,
and the documentation for this behaviour is virtually non-existent, although
there are others who have confirmed that the error we see is seen by them in
the same situation too.

Fortunately, ERROR_NO_DATA is still returned by GetLastError by the time
::write returns. As such, we could detect this specific error value if errno is
EINVAL and do something different to what we do now. As it seems not
unreasonable for a process to hang up after it has received all the data it
wants, it might make sense to throw away all subsequent output if that error
has ever been detected. It doesn't seem right that we get a fatal error (i.e. a
crash) instead.

-- 
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 49329] New: Crash on invalid: ResolveSingleFunctionTemplateSpecialization

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49329

Bug ID: 49329
   Summary: Crash on invalid:
ResolveSingleFunctionTemplateSpecialization
   Product: clang
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: hok...@google.com
CC: blitzrak...@gmail.com, dgre...@apple.com,
erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
richard-l...@metafoo.co.uk

Testcase:

template 
class C {
public:
  template
  class Type {
  };
};

template 
class A {
public:
  void foo() {
C::template Type<2>;
  }
};

void test() {
A a;
a.foo();
}


Crash stack trace:


clang: llvm-project/llvm/include/llvm/Support/Casting.h:269: typename
cast_retty::ret_type llvm::cast(Y *) [X = clang::FunctionTemplateDecl,
Y = clang::NamedDecl]: Assertion `isa(Val) && "cast() argument of
incompatible type!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: ./bin/clang -cc1 -ast-dump /tmp/t1.cpp
1.   parser at end of file
2.  /tmp/t1.cpp:13:8: instantiating function definition 'A::foo'
 #0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
llvm-project/llvm/lib/Support/Unix/Signals.inc:565:11
 #1 PrintStackTraceSignalHandler(void*)
llvm-project/llvm/lib/Support/Unix/Signals.inc:632:1
 #2 llvm::sys::RunSignalHandlers()
llvm-project/llvm/lib/Support/Signals.cpp:70:5
 #3 SignalHandler(int) llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
 #4 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
 #5 raise ./signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #6 abort ./stdlib/abort.c:81:7
 #7 get_sysdep_segment_value ./intl/loadmsgcat.c:509:8
 #8 _nl_load_domain ./intl/loadmsgcat.c:970:34
 #9 (/lib/x86_64-linux-gnu/libc.so.6+0x34662)
#10 llvm::cast_retty::ret_type
llvm::cast(clang::NamedDecl*)
llvm-project/llvm/include/llvm/Support/Casting.h:270:10
#11
clang::Sema::ResolveSingleFunctionTemplateSpecialization(clang::OverloadExpr*,
bool, clang::DeclAccessPair*)
llvm-project/clang/lib/Sema/SemaOverload.cpp:12460:27
#12
clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(clang::ActionResult&, bool, bool, clang::SourceRange, clang::QualType, unsigned int)
llvm-project/clang/lib/Sema/SemaOverload.cpp:12525:21
#13 clang::Sema::CheckPlaceholderExpr(clang::Expr*)
llvm-project/clang/lib/Sema/SemaExpr.cpp:19272:9
#14 clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool,
bool) llvm-project/clang/lib/Sema/SemaExprCXX.cpp:8388:16
#15 clang::Sema::ActOnExprStmt(clang::ActionResult, bool)
llvm-project/clang/lib/Sema/SemaStmt.cpp:49:8
#16 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*,
clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::StmtDiscardKind)
llvm-project/clang/lib/Sema/TreeTransform.h:3687:24
#17 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) llvm-project/clang/lib/Sema/TreeTransform.h:7109:38
#18 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*)
llvm-project/clang/lib/Sema/TreeTransform.h:7095:23
#19 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*,
clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::StmtDiscardKind)
llvm-project/build-debug/tools/clang/include/clang/AST/StmtNodes.inc:73:1
#20 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList
const&) llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:3460:23
#21 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool)
llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4892:14
#22 clang::Sema::PerformPendingInstantiations(bool)
llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6139:13
#23 clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind)
llvm-project/clang/lib/Sema/Sema.cpp:995:3
#24 clang::Sema::ActOnEndOfTranslationUnit()
llvm-project/clang/lib/Sema/Sema.cpp:1030:5

Looks like this is a regression, it is in trunk, but not reproducible in
clang-11.0.1.

-- 
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 48416] TestConflictingSymbols :: test_conflicting_symbols fails on FreeBSD

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=48416

Michał Górny  changed:

   What|Removed |Added

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

--- Comment #1 from Michał Górny  ---
I can no longer reproduce the failure, so I guess it's been fixed
independently.  I'm removing the XFAIL from the test.

-- 
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 49331] New: generate links to source files with element definitions in clang-doc markdown

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49331

Bug ID: 49331
   Summary: generate links to source files with element
definitions in clang-doc markdown
   Product: clang-tools-extra
   Version: unspecified
  Hardware: Macintosh
OS: MacOS X
Status: NEW
  Severity: enhancement
  Priority: P
 Component: clang-doc
  Assignee: unassignedclangb...@nondot.org
  Reporter: mbo...@bellsouth.net
CC: llvm-bugs@lists.llvm.org, pho...@chromium.org

Hello, 

First of all, thank you for your work. 

I recently tried clang-doc to see if it would be a potential replacement for
doxygen for a documentation site I am working on. One nice feature of doxygen
is that it will create links to source files that define
functions/variables/etc with the line highlighted. I am not sure how achievable
this would be, but I have seen it elsewhere like the documentation for rust
packages and have found it useful. 

Since the documentation is pretty bare bones at the moment, this may be an
existing clang-doc feature, in which case I apologize.

-- 
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 31143 in oss-fuzz: llvm:llvm-isel-fuzzer--aarch64-gisel: ASSERT: DstTy.getSizeInBits() < SrcTy.getSizeInBits() && "invalid widening trunc"

2021-02-23 Thread ClusterFuzz-External via monorail via llvm-bugs
Updates:
Labels: ClusterFuzz-Verified
Status: Verified

Comment #1 on issue 31143 by ClusterFuzz-External: 
llvm:llvm-isel-fuzzer--aarch64-gisel: ASSERT: DstTy.getSizeInBits() < 
SrcTy.getSizeInBits() && "invalid widening trunc"
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31143#c1

ClusterFuzz testcase 6029046246932480 is verified as fixed in 
https://oss-fuzz.com/revisions?job=libfuzzer_asan_llvm&range=202102220625:202102230619

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 49332] New: Default constructors of node-based containers don't construct allocators

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49332

Bug ID: 49332
   Summary: Default constructors of node-based containers don't
construct allocators
   Product: libc++
   Version: 11.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: malts...@gmail.com
CC: llvm-bugs@lists.llvm.org, mclow.li...@gmail.com

Consider the following code:

https://godbolt.org/z/Tn73Me

#include 
#include 
#include 
#include 
#include 
#include 
#include 

int n_alloc = 0;
struct alloc : public std::allocator {
alloc() { n_alloc++; };
};

int main(void)
{
std::vector c1;
printf("n_alloc: %d\n", n_alloc);
std::deque c2;
printf("n_alloc: %d\n", n_alloc);

std::forward_list c3;
printf("n_alloc: %d\n", n_alloc);
std::list c4;
printf("n_alloc: %d\n", n_alloc);
std::set, alloc> c5;
printf("n_alloc: %d\n", n_alloc);
std::unordered_set, std::equal_to, alloc> c6;
printf("n_alloc: %d\n", n_alloc);
}

In [forwardlist.overview], the default constructor is specified as follows:
forward_list() : forward_list(Allocator()) { }

Similarly for other containers.

So, the expected output of the above program is:
1
2
3
4
5
6

But with libc++ (recent trunk version) the output is:
1
2
2
2
2
2

-- 
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 49118] [Integrated Assembler][Thumb2] ldr and str missing .w suffix aliases

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49118

Nick Desaulniers  changed:

   What|Removed |Added

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

--- Comment #11 from Nick Desaulniers  ---
https://reviews.llvm.org/rG1e204ac78952cf7e4fcf335423e80007388d3979

-- 
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 49333] New: Compilation error in NVPTX deviceRLTs

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49333

Bug ID: 49333
   Summary: Compilation error in NVPTX deviceRLTs
   Product: OpenMP
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: release blocker
  Priority: P
 Component: Runtime Library
  Assignee: unassignedb...@nondot.org
  Reporter: tianshilei1...@gmail.com
CC: llvm-bugs@lists.llvm.org

A compilation error occurred when compiling OpenMP NVPTX deviceRTLs with Clang
in the release branch.
```
FAILED: openmp/libomptarget/deviceRTLs/nvptx/target_impl.cu-cuda_111-sm_60.bc 
cd build-release/runtimes/runtimes-bins/openmp/libomptarget/deviceRTLs/nvptx &&
build-release/./bin/clang -S -x c++ -O1 -std=c++14 -target nvptx64 -Xclang
-emit-llvm-bc -Xclang -aux-triple -Xclang x86_64-unknown-linux-gnu -fopenmp
-fopenmp-cuda-mode -Xclang -fopenmp-is-device -D__CUDACC__
-Illvm-project/openmp/libomptarget/deviceRTLs
-Illvm-project/openmp/libomptarget/deviceRTLs/nvptx/src
-DOMPTARGET_NVPTX_DEBUG=0 -Xclang -target-cpu -Xclang sm_60 -D__CUDA_ARCH__=600
-Xclang -target-feature -Xclang +ptx71 -DCUDA_VERSION=11100
llvm-project/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu -o
target_impl.cu-cuda_111-sm_60.bc
llvm-project/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu:71:10:
error: '__nvvm_shfl_sync_idx_i32' needs target feature
ptx60|ptx61|ptx63|ptx64|ptx65|ptx70
  return __nvvm_shfl_sync_idx_i32(Mask, Var, SrcLane, 0x1f);
 ^
llvm-project/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu:82:10:
error: '__nvvm_shfl_sync_down_i32' needs target feature
ptx60|ptx61|ptx63|ptx64|ptx65|ptx70
  return __nvvm_shfl_sync_down_i32(Mask, Var, Delta, T);
 ^
llvm-project/openmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu:92:3:
error: '__nvvm_bar_warp_sync' needs target feature
ptx60|ptx61|ptx63|ptx64|ptx65|ptx70
  __nvvm_bar_warp_sync(Mask);
  ^
```

-- 
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 49334] New: Segfault when running code with target nowait compiled for x86 offloading

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49334

Bug ID: 49334
   Summary: Segfault when running code with target nowait compiled
for x86 offloading
   Product: OpenMP
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Runtime Library
  Assignee: unassignedb...@nondot.org
  Reporter: tianshilei1...@gmail.com
CC: llvm-bugs@lists.llvm.org

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

The test case is attached. Compilation command:
```
$ clang++ -fopenmp -fopenmp-targets=x86_64 bug.cpp
```

-- 
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 48902] [meta] 12.0.0 Release Blockers

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=48902
Bug 48902 depends on bug 49333, which changed state.

Bug 49333 Summary: Compilation error in NVPTX deviceRLTs
https://bugs.llvm.org/show_bug.cgi?id=49333

   What|Removed |Added

 Status|CONFIRMED   |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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 49333] Compilation error in NVPTX deviceRLTs

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49333

Tom Stellard  changed:

   What|Removed |Added

 Status|CONFIRMED   |RESOLVED
 Fixed By Commit(s)|89827fd404f954605663776e746 |89827fd404f954605663776e746
   |ec351bde61348   |ec351bde61348 2f74c2204827
 Resolution|--- |FIXED

--- Comment #4 from Tom Stellard  ---
Merged: 2f74c2204827

-- 
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 49140] Cherry-pick f74318491134356a19ba2d9673f89c8b74ff3692 to 12.x release

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49140

Tom Stellard  changed:

   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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 48902] [meta] 12.0.0 Release Blockers

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=48902
Bug 48902 depends on bug 49140, which changed state.

Bug 49140 Summary: Cherry-pick f74318491134356a19ba2d9673f89c8b74ff3692 to 12.x 
release
https://bugs.llvm.org/show_bug.cgi?id=49140

   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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 49257] -mharden-sls=all caused some kernels fail too boot

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49257

Nick Desaulniers  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |INVALID

--- Comment #5 from Nick Desaulniers  ---
Makes sense, thanks for the additional info.

-- 
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 4068] [Meta] Compiling the Linux kernel with clang

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=4068
Bug 4068 depends on bug 49257, which changed state.

Bug 49257 Summary: -mharden-sls=all caused some kernels fail too boot
https://bugs.llvm.org/show_bug.cgi?id=49257

   What|Removed |Added

 Status|REOPENED|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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 49214] [NewPM] Failure to build SPEC17 (compiler hang)

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49214

Jonas Paulsson  changed:

   What|Removed |Added

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

--- Comment #2 from Jonas Paulsson  ---
> It's not hanging for me. The legacy PM finishes in 16s, the new PM finishes 
> in 20s.

Thanks for taking a look - this seems to be gone now after 468fa03 "Only verify
LazyCallGraph under expensive checks"

-- 
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 49006] llvm.var.annotation and llvm.ptr.annotation aren't auto-upgraded

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49006

Tom Stellard  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
 Fixed By Commit(s)|9a827906cb95e7c3ae94627558d |9a827906cb95e7c3ae94627558d
   |a67b47ffde249   |a67b47ffde249 eccac5a8aec9

--- Comment #9 from Tom Stellard  ---
Merged: eccac5a8aec9

-- 
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 48902] [meta] 12.0.0 Release Blockers

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=48902
Bug 48902 depends on bug 49006, which changed state.

Bug 49006 Summary: llvm.var.annotation and llvm.ptr.annotation aren't 
auto-upgraded
https://bugs.llvm.org/show_bug.cgi?id=49006

   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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 49317] [meta] 12.0.1 Release Blockers

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49317
Bug 49317 depends on bug 49006, which changed state.

Bug 49006 Summary: llvm.var.annotation and llvm.ptr.annotation aren't 
auto-upgraded
https://bugs.llvm.org/show_bug.cgi?id=49006

   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
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs


[llvm-bugs] [Bug 49335] New: libcall simplification not reliably being applied by early instcombine

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49335

Bug ID: 49335
   Summary: libcall simplification not reliably being applied by
early instcombine
   Product: libraries
   Version: trunk
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Scalar Optimizations
  Assignee: unassignedb...@nondot.org
  Reporter: richard-l...@metafoo.co.uk
CC: llvm-bugs@lists.llvm.org

Testcase (https://godbolt.org/z/s3cxzv):

#include 

bool f(llvm::StringRef s) {
return s.size() > 1 && s[0] == '0';
}
bool g(llvm::StringRef s) {
return s.startswith("0") && s != "0";
}


I would expect `f` and `g` to produce equivalent code, but they don't. `f`
produces a branch on size followed by a comparison of s[0]:

  %3 = icmp ugt i64 %1, 1
  br i1 %3, label %4, label %7

4:; preds = %2
  %5 = load i8, i8* %0, align 1, !tbaa !2
  %6 = icmp eq i8 %5, 48
  br label %7

7:; preds = %4, %2
  %8 = phi i1 [ false, %2 ], [ %6, %4 ]
  ret i1 %8

That seems fine. But `g` compares `s[0]` against `'0'` twice:

  %3 = icmp eq i64 %1, 0
  br i1 %3, label %12, label %4

4:; preds = %2
  %5 = load i8, i8* %0, align 1
  %6 = icmp eq i8 %5, 48
  br i1 %6, label %7, label %12

7:; preds = %4
  %8 = icmp eq i64 %1, 1
  br i1 %8, label %9, label %12

9:; preds = %7
  %10 = load i8, i8* %0, align 1
  %11 = icmp ne i8 %10, 48
  br label %12

12:   ; preds = %2, %9, %7, %4
  %13 = phi i1 [ false, %4 ], [ true, %7 ], [ %11, %9 ], [ false, %2 ]
  ret i1 %13

We don't seem to notice that %10 is identical to %5.


It looks like (https://godbolt.org/z/MaPvMY) the second load is part of a call
to @bcmp until too late. Early InstCombinePasses leave the @bcmp call alone,
and it's only transformed to a load-and-compare by the InstCombinePass that
runs immediately after the BDCE pass, but we don't do any more GVN after that
point.

It's not clear to me why the pre-GVN InstCombine doesn't fire on the @bcmp
call:

  %10 = tail call i32 @bcmp(i8* nonnull %0, i8* getelementptr inbounds ([2 x
i8], [2 x i8]* @.str, i64 0, i64 0), i64 %1) #7

... but the post-GVN InstCombine does fire on an apparently-identical call. (In
fact, the entire function appears to be identical according to
-print-after-all, but InstCombine does different things?)

-- 
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 31316 in oss-fuzz: llvm:clang-fuzzer: ASSERT: DS.getAttributes().empty() && "No attribute expected"

2021-02-23 Thread ClusterFuzz-External via monorail via llvm-bugs
Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevl...@apple.com, igm...@gmail.com, 
d...@google.com, mit...@google.com, bigch...@gmail.com, eney...@google.com, 
llvm-...@lists.llvm.org, j...@chromium.org, v...@apple.com, 
mitch...@outlook.com, xpl...@gmail.com, akils...@apple.com 
Labels: ClusterFuzz Reproducible Stability-Memory-MemorySanitizer 
Engine-libfuzzer OS-Linux Proj-llvm Reported-2021-02-24
Type: Bug

New issue 31316 by ClusterFuzz-External: llvm:clang-fuzzer: ASSERT: 
DS.getAttributes().empty() && "No attribute expected"
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31316

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

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

Crash Type: ASSERT
Crash Address: 
Crash State:
  DS.getAttributes().empty() && "No attribute expected"
  clang::Sema::BuildAnonymousStructOrUnion
  clang::Sema::ParsedFreeStandingDeclSpec
  
Sanitizer: memory (MSAN)

Regressed: 
https://oss-fuzz.com/revisions?job=libfuzzer_msan_llvm&range=201912200437:201912220428

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

Issue filed automatically.

See https://google.github.io/oss-fuzz/advanced-topics/reproducing for 
instructions to reproduce this bug locally.
When you fix this bug, please
  * mention the fix revision(s).
  * state whether the bug was a short-lived regression or an old bug in any 
stable releases.
  * add any other useful information.
This information can help downstream consumers.

If you need to contact the OSS-Fuzz team with a question, concern, or any other 
feedback, please file an issue at https://github.com/google/oss-fuzz/issues. 
Comments on individual Monorail issues are not monitored.

-- 
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 49336] New: Conditional branches are exchanged unoptimally

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49336

Bug ID: 49336
   Summary: Conditional branches are exchanged unoptimally
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: car...@google.com
CC: craig.top...@gmail.com, llvm-bugs@lists.llvm.org,
llvm-...@redking.me.uk, pengfei.w...@intel.com,
spatel+l...@rotateright.com

The following code is extracted from zippy. Compile it with -O2

#include 
#define PREDICT_FALSE(x) __builtin_expect((x), 0)

volatile int g;

std::pair
foo(char* ip, char* ip_limit, int op) {
do {
  char* old_ip = ip; 
  int tag_type = g;
  ip = ip + 1;
  int offset = *old_ip;
  if (offset < 8) {
  ip = ip + 2;
  }   
  int delta = op - offset;
  if (PREDICT_FALSE(delta < 0)) { 
if (tag_type != 0) { 
ip = old_ip;
break;
}
  }   
  op += 8;
} while (ip < ip_limit);
  return {ip, op};
}

LLVM generates:

_Z3fooPcS_i:# @_Z3fooPcS_i
.cfi_startproc
# %bb.0:# %entry
movq%rdi, %rax
jmp .LBB0_1
.p2align4, 0x90
.LBB0_3:# %cleanup
#   in Loop: Header=BB0_1 Depth=1
movb%r8b, %cl 
leaq(%rax,%rcx,2), %rax
addq$1, %rax
addl$8, %edx
cmpq%rsi, %rax
jae .LBB0_4
.LBB0_1:# %do.body
# =>This Inner Loop Header: Depth=1
movlg(%rip), %r9d
movsbl  (%rax), %edi
xorl%ecx, %ecx
cmpl$8, %edi
setl%r8b
testl   %r9d, %r9d  // if (tag_type != 0)
je  .LBB0_3
# %bb.2:# %do.body
#   in Loop: Header=BB0_1 Depth=1
cmpl%edi, %edx  // if (PREDICT_FALSE(delta < 0))
jge .LBB0_3
.LBB0_4:# %do.end
retq

The condition (tag_type != 0) is unpredictable, but (delta < 0) is predicted as
false, so the unpredictable condition (tag_type != 0) is rarely executed.
But in the generated code, llvm changed the order of the two conditions, so the
unpredictable condition is always executed, causes more branch mis-prediction.

-- 
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 49251] Undefined symbol with CFI and __attribute__((__used__))

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49251

Teresa Johnson  changed:

   What|Removed |Added

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

--- Comment #5 from Teresa Johnson  ---
The fix went in at fde55a9c9bf147241249ae478760ae69dd1925ed.

Note that the commit causing this issue caused an additional issue that I also
just fixed at 0a5949dcfa31d599353fb4ccf4d207bdae7c7281.

-- 
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 48389] ld64.lld.darwinnew unwind info is incorrect

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=48389

Jez Ng  changed:

   What|Removed |Added

 Fixed By Commit(s)||rG4a5e111aea7ac78190211a254
   ||9f8d0d53ee2f01d
 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassignedb...@nondot.org   |jezr...@gmail.com

-- 
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 49337] New: accept-invalid: __builtin_types_compatible_p pollutes the environment of tag type checking

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49337

Bug ID: 49337
   Summary: accept-invalid: __builtin_types_compatible_p pollutes
the environment of tag type checking
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: -New Bugs
  Assignee: unassignedclangb...@nondot.org
  Reporter: zhan3...@purdue.edu
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org,
neeil...@live.com, richard-l...@metafoo.co.uk

I am not sure how to accurately describe the problem. In short,

Following code is obviously invalid, as the use of 'X' with tag type does not
match previous declaration (https://godbolt.org/z/qad8vz).

$ cat case1.c
struct X {
union X {
int b;
long c;
} d;
} a;

int main() { return 0; }


However, when we put this erroneous declaration into a
__builtin_types_compatible_p function, clang accepts it
(https://godbolt.org/z/TrxTzs). Note that it is rejected by GCC
(https://godbolt.org/z/rWde88).

$ cat case2.c
int main() {
int a = __builtin_types_compatible_p(int, struct X {
union X {
int b;
long c;
} d;
});

return a;
}


Even worse, this invalid __builtin_types_compatible_p may additionally affects
other statements (https://godbolt.org/z/avxvzj), which, at least, gives the
wrong error reports.

$ cat case3.c
int main() {
int a = __builtin_types_compatible_p(int, struct X {
union X {
int b;
long c;
} d;
});

enum X { A, B } h;
h = A;

return a;
}

$ clang case3.c

#1 with x86-64 clang (trunk)
case3.c:10:9: error: use of undeclared identifier 'A'
h = A;
^
1 error generated.

-- 
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 49185] opt -O3 crashes with Assertion `NewL->getParentLoop() == ParentL && "All of the new loops must be siblings of the current loop!"' failed. with new PM

2021-02-23 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=49185

Mikael Holmén  changed:

   What|Removed |Added

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

--- Comment #6 from Mikael Holmén  ---
(In reply to Arthur Eubanks from comment #5)
> There's no way to get a list of passes for -O3 under the new PM.
> 

Almost every time I debug an opt problem I start with "opt -O " and I want to reach an "opt " reproducer to get an as small
and stable reproducer as possible that isolates the real problem. Normally I
use -debug-pass=Arguments along with reducing the input program, and in most
cases I end up with what I want.

How do we achieve this with the new PM then? I'm sure people already working
with the new PM want to do the same thing, so how do you do?

I already sent an email to llvm-dev with this question but unfortunately got
zero replies so far:
https://lists.llvm.org/pipermail/llvm-dev/2021-February/148551.html

> I can't repro the crash locally at head. Perhaps it's fixed? Or maybe I'm
> not specifying the right backend target since it's not specified in the .ll
> file.

Yes it was fixed in f70cdc5b5c.

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