Displaying 4 results from an estimated 4 matches for "hoffbrinkl".
Did you mean:
hoffbrinkle
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 status of bit 9
> (IF), which controls interrupts, changes.
>
> Here's a simple test program. Assume that t...
2015 Jul 29
2
[LLVMdev] optimizer clobber 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)
2015 Jul 30
2
[LLVMdev] optimizer clobber EFLAGS
...15 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:
> 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 status of
>> bit 9 (IF), which controls interrupts, changes.
>>
>> Here's a si...
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)
{