Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] optimizer clobber EFLAGS"
2015 Jul 29
0
[LLVMdev] optimizer clobber EFLAGS
I remember this bug. :) IMO, LLVM should never emit pushf / popf. I'm not
sure this patch to fix it ever got committed:
http://reviews.llvm.org/D6629
On Wed, Jul 29, 2015 at 3:11 PM, Michael Hordijk <hoffbrinkle at hotmail.com>
wrote:
>
> Using Clang/LLVM 3.6.0 we are observing a case where the optimizations are
> clobbering EFLAGS on x86_64. This is inconvenient when the
2015 Jul 30
2
[LLVMdev] optimizer clobber EFLAGS
Agreed, never emit pushf/popf. Sorry I never committed the patch, the cmov
issue got hairy and I never got to debugging it :-)
I can get back to it if there's interest!
On Wed, Jul 29, 2015 at 4:12 PM, Reid Kleckner <rnk at google.com> wrote:
> I remember this bug. :) IMO, LLVM should never emit pushf / popf. I'm not
> sure this patch to fix it ever got committed:
>
2015 Jul 31
0
[LLVMdev] optimizer clobber EFLAGS
On 7/29/15 18:35, JF Bastien wrote:
> Agreed, never emit pushf/popf. Sorry I never committed the patch, the
> cmov issue got hairy and I never got to debugging it :-)
> I can get back to it if there's interest!
You've definitely got some interest here. I've been looking at your
patch on http://reviews.llvm.org/D6629 and I think I'm up to speed on
where it's stuck.
2015 Jul 29
0
[LLVMdev] optimizer clobbering EFLAGS
Using Clang/LLVM 3.6.0 we are observing a case where the optimizations
are clobbering EFLAGS on x86_64. This is inconvenient when the status
of bit 9 (IF), which controls interrupts, changes.
Here's a simple test program. Assume that the external function foo()
modifies the IF bit in EFLAGS.
#include <stdlib.h>
#include <stdbool.h>
void foo(void);
int a;
int bar(void)
{
2020 Aug 31
2
Vectorization of math function failed?
Hi,
After reading https://llvm.org/docs/Vectorizers.html#vectorization-of-function-calls
I decided to write the following C++ program:
#include <cmath>
using v4f32 = float __attribute__((__vector_size__(16)));
v4f32 fct1(v4f32 x)
{
v4f32 y;
y[0] = std::sin(x[0]);
y[1] = std::sin(x[1]);
y[2] = std::sin(x[2]);
y[3] = std::sin(x[3]);
return y;
}
v4f32 fct2(v4f32 x)
{
v4f32 y;
2010 Sep 01
5
[LLVMdev] equivalent IR, different asm
The attached .ll files seem equivalent, but the resulting asm from 'opt-fail.ll' causes a crash to webkit.
I suspect the usage of registers is wrong, can someone take a look ?
$ llc opt-pass.ll -o -
.section __TEXT,__text,regular,pure_instructions
.globl __ZN7WebCore6kolos1ERiS0_PKNS_20RenderBoxModelObjectEPNS_10StyleImageE
.align 4, 0x90
2014 May 11
2
[LLVMdev] [cfe-dev] Code generation for noexcept functions
On Sun, May 11, 2014 at 8:19 AM, Stephan Tolksdorf <st at quanttec.com> wrote:
> Hi,
>
> When clang/LLVM can't prove that a noexcept function only contains
> non-throwing code, it seems to insert an explicit exception handler that
> calls std::terminate. Why doesn't clang leave it to the eh personality
> function to call std::terminate when an exception is thrown
2016 Feb 29
2
X86 Backend - How to push and pop eflags?
Hello llvm-dev list,
i am implementing an X86 Machine Pass that at some point needs to push/pop
eflags on the stack. This pass is hooked at preRegAlloc and LLVM is 3.7.0.
I got two big problems:
1) I didn't found a way to emit a pushfq instruction in a clean way, i.e.
with BuildMI(*MBB, MI, DL, TII.get(X86::PUSHF64)). Even if both EFLAGS
and RSP are added to the MBB liveins, the Machine
2010 Jun 26
19
[Bug 28763] New: Kernel Oops when displaying a large image
https://bugs.freedesktop.org/show_bug.cgi?id=28763
Summary: Kernel Oops when displaying a large image
Product: xorg
Version: unspecified
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: Driver/nouveau
AssignedTo: nouveau at lists.freedesktop.org
2016 Feb 11
3
Expected constant simplification not happening
Hi
the appended IR code does not optimize to my liking :)
this is the interesting part in x86_64, that got produced via clang -Os:
---
movq -16(%r12), %rax
movl -4(%rax), %ecx
andl $2298949, %ecx ## imm = 0x231445
cmpq $2298949, (%rax,%rcx) ## imm = 0x231445
leaq 8(%rax,%rcx), %rax
cmovneq %r15, %rax
movl $2298949, %esi ## imm = 0x231445
movq %r12, %rdi
movq %r14,
2016 Oct 30
4
[Bug 98506] New: Pagefault in gf100_vm_flush
https://bugs.freedesktop.org/show_bug.cgi?id=98506
Bug ID: 98506
Summary: Pagefault in gf100_vm_flush
Product: xorg
Version: git
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Driver/nouveau
Assignee: nouveau at lists.freedesktop.org
2017 Mar 15
2
[LLD] Linking static library does not resolve symbols as gold/ld
Compilers don't know about functions that are not defined in the same
compilation unit, so they leave call instruction operands as zero (because
they can't compute any absolute nor relative address of the destinations),
and let linkers fix the address by binary patching.
So, what you are seeing is likely a bug of LLD that it fails to fix the
address for some reason.
Can you dump that
2017 Oct 16
4
[Xen-devel] [PATCH 11/13] x86/paravirt: Add paravirt alternatives infrastructure
On 10/12/2017 03:53 PM, Boris Ostrovsky wrote:
> On 10/12/2017 03:27 PM, Andrew Cooper wrote:
>> On 12/10/17 20:11, Boris Ostrovsky wrote:
>>> There is also another problem:
>>>
>>> [ 1.312425] general protection fault: 0000 [#1] SMP
>>> [ 1.312901] Modules linked in:
>>> [ 1.313389] CPU: 0 PID: 1 Comm: init Not tainted 4.14.0-rc4+ #6
2017 Oct 16
4
[Xen-devel] [PATCH 11/13] x86/paravirt: Add paravirt alternatives infrastructure
On 10/12/2017 03:53 PM, Boris Ostrovsky wrote:
> On 10/12/2017 03:27 PM, Andrew Cooper wrote:
>> On 12/10/17 20:11, Boris Ostrovsky wrote:
>>> There is also another problem:
>>>
>>> [ 1.312425] general protection fault: 0000 [#1] SMP
>>> [ 1.312901] Modules linked in:
>>> [ 1.313389] CPU: 0 PID: 1 Comm: init Not tainted 4.14.0-rc4+ #6
2017 Mar 15
2
[LLD] Linking static library does not resolve symbols as gold/ld
On Wed, Mar 15, 2017 at 2:22 PM, Martin Richtarsky <s at martinien.de> wrote:
> Here is the relevant output:
>
> 0000000000013832 <func()>:
> 13832: 55 push %rbp
> 13833: 48 89 e5 mov %rsp,%rbp
> 13836: 53 push %rbx
> 13837: 48 83 ec 18 sub $0x18,%rsp
2010 Sep 01
0
[LLVMdev] equivalent IR, different asm
On Sep 1, 2010, at 6:25 AM, Argyrios Kyrtzidis wrote:
> The attached .ll files seem equivalent, but the resulting asm from 'opt-fail.ll' causes a crash to webkit.
> I suspect the usage of registers is wrong, can someone take a look ?
The difference is that there is a shift right after the multiply, before the divide. In IR, the difference is:
%5 = mul nsw i32 %4, %tmp1
2016 Jan 02
13
[Bug 93557] New: Kernel Panic on Linux Kernel 4.4 when loading KDE/KDM on Nvidia GeForce 7025 / nForce 630a
https://bugs.freedesktop.org/show_bug.cgi?id=93557
Bug ID: 93557
Summary: Kernel Panic on Linux Kernel 4.4 when loading KDE/KDM
on Nvidia GeForce 7025 / nForce 630a
Product: xorg
Version: unspecified
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
Severity: blocker
2016 Jun 15
2
[PATCH v7 00/12] Support non-lru page migration
Hi Sergey,
On Wed, Jun 15, 2016 at 04:59:09PM +0900, Sergey Senozhatsky wrote:
> Hello Minchan,
>
> -next 4.7.0-rc3-next-20160614
>
>
> [ 315.146533] kasan: CONFIG_KASAN_INLINE enabled
> [ 315.146538] kasan: GPF could be caused by NULL-ptr deref or user memory access
> [ 315.146546] general protection fault: 0000 [#1] PREEMPT SMP KASAN
> [ 315.146576] Modules
2016 Jun 15
2
[PATCH v7 00/12] Support non-lru page migration
Hi Sergey,
On Wed, Jun 15, 2016 at 04:59:09PM +0900, Sergey Senozhatsky wrote:
> Hello Minchan,
>
> -next 4.7.0-rc3-next-20160614
>
>
> [ 315.146533] kasan: CONFIG_KASAN_INLINE enabled
> [ 315.146538] kasan: GPF could be caused by NULL-ptr deref or user memory access
> [ 315.146546] general protection fault: 0000 [#1] PREEMPT SMP KASAN
> [ 315.146576] Modules
2013 Jan 04
3
[LLVMdev] instruction scheduling issue
Hi all,
I'm trying to insert a function call "llvm_memory_profiling " right before each memory access. The function uses the effective address of the memory access as its single parameter.
A example is as follows: the function call at 402a99 has a parameter passed to %rdi at 402a91. One can see that the function call is exactly before the
memory access I want to monitor because