[llvm-bugs] [Bug 45004] New: problems with soft-float

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45004

Bug ID: 45004
   Summary: problems with soft-float
   Product: clang
   Version: 7.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: C
  Assignee: unassignedclangb...@nondot.org
  Reporter: f...@frank-buss.de
CC: blitzrak...@gmail.com, dgre...@apple.com,
erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
richard-l...@metafoo.co.uk

When I compile this program:

#include 
int main(int argc, char*argv[])
{
double x = 2.0;
double y = 3.0;
printf("%f\n", x * y);
return 0;
}

with "clang -msoft-float -mno-sse -O0 test.c", it prints 0 instead of 6.

Output of clang --version:

clang --version
clang version 7.0.1-8 (tags/RELEASE_701/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

I'm trying to use soft-float without any FPU or XMM registers, as it is e.g.
possible on ARM.

-- 
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 45005] New: Clang-CL's MSVC preprocessor emulation does not properly handle variadic arguments

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45005

Bug ID: 45005
   Summary: Clang-CL's MSVC preprocessor emulation does not
properly handle variadic arguments
   Product: clang
   Version: 9.0
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: C++
  Assignee: unassignedclangb...@nondot.org
  Reporter: balazs.czir...@nng.com
CC: blitzrak...@gmail.com, dgre...@apple.com,
erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
richard-l...@metafoo.co.uk

Clang-CL's MSVC preprocessor emulation does not produce the exact same behavior
as MSVC's preprocessor, which breaks certain libraries that are prepared to
handle MSVC's preprocessor behavior.

A minimal repro of the error that causes said libraries to break:
https://godbolt.org/z/c5RndM

(Clang-CL is not available on Godbolt, so the output of a local build was
pasted into a comment.)

The example macro `_NARG` counts the arguments it was provided up to three.
Since MSVC's preprocessor has it's quirks, the `_NARG_MSVC` macro is what can
produce the same behavior with that preprocessor.

When given two empty arguments, Clang-CL's preprocessor does not properly
handle the MSVC version, and produces an erroneous argument count of `1`.

This breaks libraries such as:
 * GoogleMock: https://godbolt.org/z/noqbnj
   (The new `MOCK_METHOD` macro in 1.10)
 * Boost Preprocessor: https://godbolt.org/z/NL6BbA

-- 
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 45006] New: GHC calling convention: Function prologue frame pointer invalidates the %rbp register

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45006

Bug ID: 45006
   Summary: GHC calling convention: Function prologue frame
pointer invalidates the %rbp register
   Product: libraries
   Version: 9.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: Backend: X86
  Assignee: unassignedb...@nondot.org
  Reporter: m...@daniel-mendler.de
CC: craig.top...@gmail.com, llvm-bugs@lists.llvm.org,
llvm-...@redking.me.uk, spatel+l...@rotateright.com

Created attachment 23165
  --> https://bugs.llvm.org/attachment.cgi?id=23165&action=edit
Includes avx/rt.bc, avx/rt.s, no-avx/rt.bc, no-avx/rt.s

I am observing a bug on x86-64 using the GHC calling convention (cc 10), which
only
occurs if AVX is enabled.

The register %rbp is reserved by the GHC calling convention, however LLVM
creates
a frame pointer in the prologue, invalidating the %rbp register if AVX is
enabled.
The %rbp register is only restored in the epilogue of the function.

This bug has been observed previously in GHC. However it seems the bug was only
triggered
by GHC with LLVM 3.2. The bug is still present in LLVM 9, which I am using
right now.
Note that I am not using GHC for code generation, but another compiler, which
produces similar code
and relies on the GHC calling convention.
See https://gitlab.haskell.org/ghc/ghc/issues/9391 for the original bug report
on the GHC bugtracker.

I am appending the following test files:

avx/rt.bc
avx/rt.s generated via llc-9 from avx/rt.bc
no-avx/rt.bc
no-avx/rt.s generated via llc-9 from avx/rt.bc

The miscompiled function is interpInitModuleCont:

~~~
define internal ghccc i32 @interpInitModuleCont(%struct._ChiRegStore_* noalias,
i64* noalias, i64* noalias, i64* noalias, i64, i64, i64, i64, i64, i64)
~~~

Compiled with AVX enabled:

~~~
interpInitModuleCont:
pushq   %rbp
movq%rsp, %rbp <~~~ %rbp is invalidated
...
movq%rbp, %rsp
popq%rbp   <~~~ %rbp is restored
vzeroupper
jmpq*%rax   # TAILCALL
~~~

If AVX is disabled using -mno-avx in the frontend, the invalid
prologue/epilogue is not generated, the %rbp register is not invalidated
and things work as expected. The resulting program runs fine.
I did not test other architectures supporting the GHC calling convention,
but I suspect that the bug is x86 specific due the logic in
X86FrameLowering::hasFP.

$ llc-9 -version
LLVM (http://llvm.org/):
  LLVM version 9.0.1

  Optimized build.
  Default target: x86_64-pc-linux-gnu
  Host CPU: skylake

-- 
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 45007] New: wasm32: return_call_indirect type mismatch

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45007

Bug ID: 45007
   Summary: wasm32: return_call_indirect type mismatch
   Product: new-bugs
   Version: 9.0
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: m...@daniel-mendler.de
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

$ clang-9 -O3 -ffreestanding -nostdinc -nostdlib --target=wasm32 -mtail-call
test.c -o test.wasm

Running the file test.wasm using `node --experimental-wasm-return_call`
produces a type mismatch error. Looking into the produced wasm code using
wabt-objdump there is indeed a mismatch `return_call_indirect 0 0` refers to
the type `() -> nil` instead of `() -> i32` as it should be.

---
// test.c
typedef int (*Fn)(void);

int g(void) {
return 0;
}

Fn p = g;

int f(void) {
return p();
}

void _start() {
f();
}
---

A variation of the program using attribute(noinline) also does not work:

---
// test.c
typedef int (*Fn)(void);

int g(void) {
return 0;
}

Fn p = g;

__attribute__((noinline)) int f(void) {
return p();
}

void _start() {
f();
}
---

-- 
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 45009] New: LLVM emits invalid entry values covering composite location descriptions

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45009

Bug ID: 45009
   Summary: LLVM emits invalid entry values covering composite
location descriptions
   Product: libraries
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: enhancement
  Priority: P
 Component: DebugInfo
  Assignee: unassignedb...@nondot.org
  Reporter: david.stenb...@ericsson.com
CC: jdevliegh...@apple.com, keith.wal...@arm.com,
llvm-bugs@lists.llvm.org,
paul_robin...@playstation.sony.com

When working on D67492 I made DwarfExpression emit a single DW_OP_entry_value
operation covering the whole composite location description that is produced if
a register does not have a valid DWARF number, and is instead composed of
multiple sub-registers. Looking closer at the standard, I noticed that that is
not valid DWARF. A DW_OP_entry_value operation's block can only be a DWARF
expression or a register location description, so it is not valid to hold a
composite location description like that. See DWARFv5 sec. 2.5.1.7:

"The DW_OP_entry_value operation pushes the value that the described location
held upon entering the current subprogram. It has two operands: an unsigned
LEB128 length, followed by a block containing a DWARF expression or a register
location description (see Section 2.6.1.1.3 on page 39)."

Such a case can be seen in
llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll.

Perhaps we instead want to emit expressions containing one DW_OP_entry_value
operation per sub-register, e.g.:

  DW_OP_entry_value(DW_OP_regx D0), DW_OP_piece 0x8,
  DW_OP_entry_value(DW_OP_regx D1), DW_OP_piece 0x8,
  DW_OP_stack_value

However, it is a bit unclear how the call site location should be for that;
should we emit one entry per sub-register, or a single composite location and
let the debugger figure out how the two expressions correlate? It is unclear to
me if it is valid DWARF to have
multiple entries per parameter. The
latter should be valid DWARF, but AFAICT no debugger can understand such call
site locations at the moment. GDB can only understand single DW_OP_reg or
DW_OP_fbreg locations.

-- 
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 44555] [meta] 10.0.0 Release Blockers

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=44555
Bug 44555 depends on bug 45001, which changed state.

Bug 45001 Summary: Polly plugin not auto-loaded
https://bugs.llvm.org/show_bug.cgi?id=45001

   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 45001] Polly plugin not auto-loaded

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45001

Michael Kruse  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Fixed By Commit(s)||6369b9bf311
 Resolution|--- |FIXED

--- Comment #2 from Michael Kruse  ---
Committed as 6369b9bf311

-- 
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 38753] [DebugInfo@O2][Dexter]Stale debug variable value in optimised code

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=38753

Tom Weaver  changed:

   What|Removed |Added

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

--- Comment #14 from Tom Weaver  ---
https://reviews.llvm.org/rG453dc4d7ec5a3c3d8f54fc358bc5673834516d48

-- 
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 38768] [meta][DebugInfo] Umbrella bug for poor debug experiences

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=38768
Bug 38768 depends on bug 38753, which changed state.

Bug 38753 Summary: [DebugInfo@O2][Dexter]Stale debug variable value in 
optimised code
https://bugs.llvm.org/show_bug.cgi?id=38753

   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 44555] [meta] 10.0.0 Release Blockers

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=44555
Bug 44555 depends on bug 45001, which changed state.

Bug 45001 Summary: Polly plugin not auto-loaded
https://bugs.llvm.org/show_bug.cgi?id=45001

   What|Removed |Added

 Status|RESOLVED|REOPENED
 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 45001] Polly plugin not auto-loaded

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45001

Michael Kruse  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---
 CC||h...@chromium.org

--- Comment #3 from Michael Kruse  ---
Reopening because the issue is not solved yet for clang-10.

-- 
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 20860 in oss-fuzz: llvm:clangd-fuzzer: Direct-leak in llvm::WritableMemoryBuffer::getNewUninitMemBuffer

2020-02-24 Thread ClusterFuzz-External via monorail via llvm-bugs
Status: New
Owner: 
CC: k...@google.com, masc...@google.com, jdevlieg...@apple.com, 
igm...@gmail.com, d...@google.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 
Stability-Memory-LeakSanitizer Engine-libfuzzer OS-Linux Proj-llvm 
Reported-2020-02-24
Type: Bug

New issue 20860 by ClusterFuzz-External: llvm:clangd-fuzzer: Direct-leak in 
llvm::WritableMemoryBuffer::getNewUninitMemBuffer
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20860

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

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

Crash Type: Direct-leak
Crash Address: 
Crash State:
  llvm::WritableMemoryBuffer::getNewUninitMemBuffer
  llvm::MemoryBuffer::getMemBufferCopy
  clang::clangd::buildAST
  
Sanitizer: address (ASAN)

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

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

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 45010] New: Assertion failed: !(isAtomic() && getAlignment() == 0) && "Alignment required for atomic load"

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45010

Bug ID: 45010
   Summary: Assertion failed: !(isAtomic() && getAlignment() == 0)
&& "Alignment required for atomic load"
   Product: clang
   Version: 10.0
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: release blocker
  Priority: P
 Component: -New Bugs
  Assignee: gchate...@google.com
  Reporter: alexandre.ga...@ubisoft.com
CC: h...@chromium.org, htmldevelo...@gmail.com,
llvm-bugs@lists.llvm.org, neeil...@live.com,
richard-l...@metafoo.co.uk
Blocks: 44555

When compiling Clang with assertions enabled, I'm seeing the assert I've
mentioned here: https://reviews.llvm.org/D71547#1824272

Repro:

// a.cpp
// Build with: clang-cl a.cpp /c /O1
#include 
struct SP {
  void WeakAddRef();
  void WeakRelease();
};
template  struct PtrBase {
  T *volatile P;
  ~PtrBase() {
if (R)
  R->WeakRelease();
  }
  PtrBase(const PtrBase &O) : R(O.R) {
if (R)
  R->WeakAddRef();
  }
  SP *R;
  bool IsValid() const { return P != nullptr; }
};
struct alignas(16) VectorSIMD4f {
  float V;
};
unsigned __int64 countAF() {
  class AF {
VectorSIMD4f B;
  };
  struct PD {
PtrBase P;
  };
  std::vector AFs;
  unsigned __int64 C = 0;
  for (auto A : AFs) {
if (A.P.IsValid())
  ++C;
  }
  return C;
}


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=44555
[Bug 44555] [meta] 10.0.0 Release Blockers
-- 
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 19216 in oss-fuzz: llvm:clang-fuzzer: Stack-overflow in processTypeAttrs

2020-02-24 Thread sheriffbot via monorail via llvm-bugs
Updates:
Labels: Deadline-Approaching

Comment #1 on issue 19216 by sheriffbot: llvm:clang-fuzzer: Stack-overflow in 
processTypeAttrs
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19216#c1

This bug is approaching its deadline for being fixed, and will be automatically 
derestricted within 7 days. If a fix is planned within 2 weeks after the 
deadline has passed, a grace extension can be granted.

- Your friendly Sheriffbot

-- 
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 19209 in oss-fuzz: llvm:llvm-isel-fuzzer--wasm32-O2: Timeout in llvm-isel-fuzzer--wasm32-O2

2020-02-24 Thread sheriffbot via monorail via llvm-bugs
Updates:
Labels: Deadline-Approaching

Comment #1 on issue 19209 by sheriffbot: llvm:llvm-isel-fuzzer--wasm32-O2: 
Timeout in llvm-isel-fuzzer--wasm32-O2
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19209#c1

This bug is approaching its deadline for being fixed, and will be automatically 
derestricted within 7 days. If a fix is planned within 2 weeks after the 
deadline has passed, a grace extension can be granted.

- Your friendly Sheriffbot

-- 
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 19203 in oss-fuzz: llvm:clang-fuzzer: Stack-overflow in clang::APValue::swap

2020-02-24 Thread sheriffbot via monorail via llvm-bugs
Updates:
Labels: Deadline-Approaching

Comment #1 on issue 19203 by sheriffbot: llvm:clang-fuzzer: Stack-overflow in 
clang::APValue::swap
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19203#c1

This bug is approaching its deadline for being fixed, and will be automatically 
derestricted within 7 days. If a fix is planned within 2 weeks after the 
deadline has passed, a grace extension can be granted.

- Your friendly Sheriffbot

-- 
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 19215 in oss-fuzz: llvm:clang-fuzzer: Stack-overflow in llvm::StringMapImpl::LookupBucketFor

2020-02-24 Thread sheriffbot via monorail via llvm-bugs
Updates:
Labels: Deadline-Approaching

Comment #1 on issue 19215 by sheriffbot: llvm:clang-fuzzer: Stack-overflow in 
llvm::StringMapImpl::LookupBucketFor
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19215#c1

This bug is approaching its deadline for being fixed, and will be automatically 
derestricted within 7 days. If a fix is planned within 2 weeks after the 
deadline has passed, a grace extension can be granted.

- Your friendly Sheriffbot

-- 
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 19205 in oss-fuzz: llvm:clang-fuzzer: Segv on unknown address in clang::SourceManager::getFileIDLoaded

2020-02-24 Thread sheriffbot via monorail via llvm-bugs
Updates:
Labels: Deadline-Approaching

Comment #1 on issue 19205 by sheriffbot: llvm:clang-fuzzer: Segv on unknown 
address in clang::SourceManager::getFileIDLoaded
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19205#c1

This bug is approaching its deadline for being fixed, and will be automatically 
derestricted within 7 days. If a fix is planned within 2 weeks after the 
deadline has passed, a grace extension can be granted.

- Your friendly Sheriffbot

-- 
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 45011] New: lldb can swallow some of the output when doing `p SM.dump(SourceLoc)`, or similar

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45011

Bug ID: 45011
   Summary: lldb can swallow some of the output when doing `p
SM.dump(SourceLoc)`, or similar
   Product: lldb
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: All Bugs
  Assignee: lldb-...@lists.llvm.org
  Reporter: v...@apple.com
CC: jdevliegh...@apple.com, llvm-bugs@lists.llvm.org

While debugging clang or llvm and calling 'dump' on various objects, lldb
sometimes swallows part of the output. E.g.:

```
(lldb) p BV.dump()
(lldb)1]}
```

or

```
(lldb) p SM.dump(SourceLoc)
(lldb)ile.cpp:30:10
```

Why does that happen? These dump methods are writing to dbgs(), which should
just be stderr.

-- 
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 44982] Non-deterministic codegen in wasm backend

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=44982

Heejin Ahn  changed:

   What|Removed |Added

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

--- Comment #8 from Heejin Ahn  ---
This was fixed in
https://reviews.llvm.org/rG3648370a79235ddc7a26c2db5b968725c320f6aa. Thanks!

-- 
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 42803] incorrect vector codegen

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=42803

Craig Topper  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Fixed By Commit(s)||a5fa77888243beede98959ced17
   ||596b380e8de59
 Resolution|--- |FIXED

--- Comment #22 from Craig Topper  ---
Maybe fixed after a5fa77888243beede98959ced17596b380e8de59. I only checked the
output I didn't run anything.

-- 
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 44902] i386 EXTRACT_VECTOR_ELT of v4i1 produces wrong code

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=44902

Craig Topper  changed:

   What|Removed |Added

 Fixed By Commit(s)||a5fa77888243beede98959ced17
   ||596b380e8de59
 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #2 from Craig Topper  ---
Maybe fixed with a5fa77888243beede98959ced17596b380e8de59

-- 
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 31265] [Meta] Load/Store/Bitcast Handling of bool vectors

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=31265
Bug 31265 depends on bug 42803, which changed state.

Bug 42803 Summary: incorrect vector codegen
https://bugs.llvm.org/show_bug.cgi?id=42803

   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 31265] [Meta] Load/Store/Bitcast Handling of bool vectors

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=31265
Bug 31265 depends on bug 44902, which changed state.

Bug 44902 Summary: i386 EXTRACT_VECTOR_ELT of v4i1 produces wrong code
https://bugs.llvm.org/show_bug.cgi?id=44902

   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 45012] New: clang accepts a call to an ambiguous inherited constructor in some cases

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45012

Bug ID: 45012
   Summary: clang accepts a call to an ambiguous inherited
constructor in some cases
   Product: clang
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P
 Component: C++11
  Assignee: unassignedclangb...@nondot.org
  Reporter: richard-l...@metafoo.co.uk
CC: blitzrak...@gmail.com, dgre...@apple.com,
erik.pilking...@gmail.com, llvm-bugs@lists.llvm.org,
richard-l...@metafoo.co.uk

Testcase:

struct A { A(int); };
struct B : virtual A { using A::A; };
struct C : A, B { using A::A; using B::B; };
C c(123);

Clang accepts and passes the 123 on to the constructors of both A base
subobjects. This code is ill-formed under [class.inhctor.init]p2:

> If the constructor was inherited from multiple base class subobjects of type 
> B, the program is ill-formed.

-- 
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 45013] New: X86 JIT doesn't support Intel CET

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45013

Bug ID: 45013
   Summary: X86 JIT doesn't support Intel CET
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: hjl.to...@gmail.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

To support IBT and SHSTK in Intel CET, x86 JIT

1. For IBT, put ENDBR at all indirect branch targets.  This has been done
regardless if IBT is enabled or not since there is no easy way to check if
IBT is active and ENDBR is a NOP on non-CET processors.  At minimum, all
entry points of jitted code should start with ENDBR, add NOTRACK prefix
before indirect call and jmp within jitted code.  
2. For SHSTK, unwind shadow stack when skipping stack frames on return.

On CET machine with CET enabled Linux OS, I got control protection fault:

(gdb) disass 0x7f0c40002000,+30
Dump of assembler code from 0x7f0c40002000 to 0x7f0c4000201e:
=> 0x7f0c40002000: push   %rbp    Missing ENDBR
   0x7f0c40002001: mov%rsp,%rbp
   0x7f0c40002004: push   %r15
   0x7f0c40002006: push   %r14
   0x7f0c40002008: push   %r13
   0x7f0c4000200a: push   %r12
   0x7f0c4000200c: push   %rbx
   0x7f0c4000200d: and$0xffe0,%rsp
   0x7f0c40002011: sub$0x60,%rsp
   0x7f0c40002015: mov0x30(%rbp),%r14
   0x7f0c40002019: mov0x10(%rbp),%rax
   0x7f0c4000201d: lea-0x1(%rcx),%ebx
End of assembler dump.
(gdb) bt
#0  0x7f0c40002000 in  ()
#1  0x7f0c69c8a106 in llvm_pipeline_generic.constprop ()
at /usr/lib64/dri/swrast_dri.so
#2  0x7f0c69c8a613 in llvm_middle_end_linear_run ()
at /usr/lib64/dri/swrast_dri.so
#3  0x7f0c69c1de3a in vsplit_run_linear () at /usr/lib64/dri/swrast_dri.so
#4  0x7f0c69c17773 in draw_pt_arrays () at /usr/lib64/dri/swrast_dri.so
#5  0x7f0c69c17c90 in draw_vbo () at /usr/lib64/dri/swrast_dri.so
#6  0x7f0c693b06fb in llvmpipe_draw_vbo () at /usr/lib64/dri/swrast_dri.so
#7  0x7f0c69c363ca in blitter_draw () at /usr/lib64/dri/swrast_dri.so
#8  0x7f0c69c36733 in blitter_draw_tex () at /usr/lib64/dri/swrast_dri.so
#9  0x7f0c69c36e5d in do_blits () at /usr/lib64/dri/swrast_dri.so
#10 0x7f0c69c394e6 in util_blitter_blit_generic ()
at /usr/lib64/dri/swrast_dri.so
#11 0x7f0c69c3a672 in util_blitter_blit () at /usr/lib64/dri/swrast_dri.so
#12 0x7f0c693cf8e7 in lp_blit () at /usr/lib64/dri/swrast_dri.so
#13 0x7f0c69c3c862 in util_gen_mipmap () at /usr/lib64/dri/swrast_dri.so
#14 0x7f0c6979b887 in st_generate_mipmap () at /usr/lib64/dri/swrast_dri.so
#15 0x7f0c69835e9b in generate_texture_mipmap_error ()
at /usr/lib64/dri/swrast_dri.so
#16 0x7f0d7006f0f1 in _cogl_texture_gl_generate_mipmaps ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#17 0x7f0d700a0e47 in _cogl_texture_2d_pre_paint ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#18 0x7f0d700938f1 in _cogl_pipeline_layer_pre_paint ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#19 0x7f0d70081faf in _cogl_rectangles_validate_layer_cb ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#20 0x7f0d700904a9 in cogl_pipeline_foreach_layer ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#21 0x7f0d700823d6 in _cogl_framebuffer_draw_multitextured_rectangles ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#22 0x7f0d700acb66 in cogl_framebuffer_draw_textured_rectangle ()
at /usr/lib64/mutter-5/libmutter-cogl-5.so.0
#23 0x7f0d7061d60a in meta_background_get_texture ()
at /lib64/libmutter-5.so.0
#24 0x7f0d7061b1e9 in meta_background_actor_paint ()
at /lib64/libmutter-5.so.0
#25 0x7f0d707f2b7f in clutter_actor_continue_paint ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#26 0x7f0d707f9d14 in clutter_actor_paint ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#27 0x7f0d708578e2 in clutter_stage_paint ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#28 0x7f0d70606981 in meta_stage_paint () at /lib64/libmutter-5.so.0
#29 0x7f0d707f2b7f in clutter_actor_continue_paint ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#30 0x7f0d707f9d14 in clutter_actor_paint ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#31 0x7f0d7085c985 in clutter_stage_do_paint_view ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#32 0x7f0d70606884 in meta_stage_paint_view () at /lib64/libmutter-5.so.0
#33 0x7f0d70858cd0 in _clutter_stage_paint_view ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#34 0x7f0d70890445 in paint_stage ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#35 0x7f0d70890c87 in clutter_stage_cogl_redraw_view ()
at /usr/lib64/mutter-5/libmutter-clutter-5.so.0
#36 0x7f0d708918e3 in clutter_stag

[llvm-bugs] [Bug 45014] New: interception_type_test fails for Android API >= 24 32-bit

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45014

Bug ID: 45014
   Summary: interception_type_test fails for Android API >= 24
32-bit
   Product: compiler-rt
   Version: unspecified
  Hardware: PC
OS: All
Status: NEW
  Severity: enhancement
  Priority: P
 Component: compiler-rt
  Assignee: unassignedb...@nondot.org
  Reporter: smee...@fb.com
CC: eugeni.stepa...@gmail.com, k...@google.com,
llvm-bugs@lists.llvm.org, mitchphill...@outlook.com,
pe...@pcc.me.uk

https://github.com/llvm/llvm-project/blob/2c0edbf19c1b0115b944cd017201eaf1f6a832ee/llvm/cmake/modules/HandleLLVMOptions.cmake#L300
sets -D_FILE_OFFSET_BITS=64 for Android when targeting API level >= 24, which
means we get a 64-bit off_t even on 32-bit targets. However, compiler-rt
defines its OFF_T type for 32-bit Android as 32 bits in
https://github.com/llvm/llvm-project/blob/2c0edbf19c1b0115b944cd017201eaf1f6a832ee/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h#L178.
interception_type_test.cpp then unconditionally compares the sizes of off_t and
OFF_T for Android in
https://github.com/llvm/llvm-project/blob/2c0edbf19c1b0115b944cd017201eaf1f6a832ee/compiler-rt/lib/interception/interception_type_test.cpp#L36,
which of course fails.

Should we adjust OFF_T to be 64 bits on Android APIs >= 24?

-- 
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 45015] New: [X86][AVX] Failure to generate vaddsubps for pattern after 19b62b79

2020-02-24 Thread via llvm-bugs
https://bugs.llvm.org/show_bug.cgi?id=45015

Bug ID: 45015
   Summary: [X86][AVX] Failure to generate vaddsubps for pattern
after 19b62b79
   Product: new-bugs
   Version: trunk
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: new bugs
  Assignee: unassignedb...@nondot.org
  Reporter: douglas_y...@playstation.sony.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org

Consider the following code:

#include 
__m128 haddsub0ps(__m128 a, __m128 b) {
  return (__m128){ a[0] - b[0], a[1] + b[1], a[2] - b[2], a[3] + b[3] };
}

Prior to commit 19b62b79db1bb154b40e8baba9a28ab8aa935b6b, when compiled with
optimizations and avx (-O2 -mavx), the compiler would generate the following
assembly:

vaddsubps   %xmm1, %xmm0, %xmm0

But now the compiler is instead generating the following assembly:

vsubss  %xmm1, %xmm0, %xmm2
vaddps  %xmm1, %xmm0, %xmm3
vblendps$1, %xmm2, %xmm3, %xmm2 # xmm2 = xmm2[0],xmm3[1,2,3]
vsubps  %xmm1, %xmm0, %xmm0
vblendps$3, %xmm2, %xmm0, %xmm0 # xmm0 = xmm2[0,1],xmm0[2,3]
vblendps$8, %xmm3, %xmm0, %xmm0 # xmm0 = xmm0[0,1,2],xmm3[3]

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