similar to: [LLVMdev] [patch] Add the returns_twice attribute

Displaying 20 results from an estimated 400 matches similar to: "[LLVMdev] [patch] Add the returns_twice attribute"

2010 Oct 26
0
[LLVMdev] Implementing the hotpatch attribute for X86
On Tue, Oct 26, 2010 at 7:27 PM, Charles Davis <cdavis at mymail.mines.edu> wrote: > On 10/26/10 5:24 PM, Michael Spencer wrote: >> The linker adds the padding. Also, the first instruction just has to >> be two bytes or longer. Not exactly two bytes. > How then does the linker know to add the padding? I assume there's a > PE-COFF attribute that will do that, Nope,
2017 Nov 04
2
returns_twice / noreturn
Hello, I am not sure about the semantic (if any) of returns_twice and noreturn attributes. int fork() __attribute__((returns_twice)); void join(int) __attribute__((noreturn)); int f(int n) { int t = fork(); n++; if (t != 0) join(t); return n; } Produces the following LLVM IR: ; Function Attrs: nounwind uwtable define i32 @f(i32 %n) local_unnamed_addr #0 { entry: %call = call i32
2017 Nov 04
2
returns_twice / noreturn
On Fri, Nov 3, 2017 at 5:39 PM, Hal Finkel <hfinkel at anl.gov> wrote: > > On 11/03/2017 07:20 PM, Alexandre Isoard via llvm-dev wrote: > > Hello, > > I am not sure about the semantic (if any) of returns_twice and noreturn > attributes. > > int fork() __attribute__((returns_twice)); > void join(int) __attribute__((noreturn)); > > int f(int n) { > int
2017 Nov 04
3
returns_twice / noreturn
On 11/03/2017 07:57 PM, Yichao Yu wrote: > On Fri, Nov 3, 2017 at 8:54 PM, Alexandre Isoard via llvm-dev > <llvm-dev at lists.llvm.org> wrote: >> On Fri, Nov 3, 2017 at 5:39 PM, Hal Finkel <hfinkel at anl.gov> wrote: >>> On 11/03/2017 07:20 PM, Alexandre Isoard via llvm-dev wrote: >>> >>> Hello, >>> >>> I am not sure about the
2017 Nov 06
2
returns_twice / noreturn
> We do not implement that restricted semantics correctly either -- see > https://bugs.llvm.org/show_bug.cgi?id=27190 Haha, I wondered for a minute whether I should bring up that bug... We've seen pretty nasty crashes due to it and had to work around it..... One of my recent work has also uncovered another (I believe) invalid handling of returns_twice functions....
2010 Oct 26
0
[LLVMdev] Implementing the hotpatch attribute for X86
On Tue, Oct 26, 2010 at 7:02 PM, Charles Davis <cdavis at mymail.mines.edu> wrote: > Hi, > > According to > http://blogs.msdn.com/b/freik/archive/2006/03/07/x64-hotpatchability.aspx, > 'hotpatchable' functions on x86 (and by extension, x86-64) are preceded > by six bytes of padding and start with a two byte instruction. The > problem is that, still being
2016 Apr 06
7
RFC: New function attribute "patchable-prologue"="<kind>"
[Proposed langref entry] The "patchable-prologue" attribute on a function is a general mechanism to control the form of a function's prologue in ways that make it easy to patch at runtime. Currently only one value is supported: # "hotpatch-compact" If a function is marked with "patchable-prologue"="hotpatch-compact" then: 1. The first instruction
2010 Oct 26
2
[LLVMdev] Implementing the hotpatch attribute for X86
Hi, According to http://blogs.msdn.com/b/freik/archive/2006/03/07/x64-hotpatchability.aspx, 'hotpatchable' functions on x86 (and by extension, x86-64) are preceded by six bytes of padding and start with a two byte instruction. The problem is that, still being relatively unfamiliar with the x86 backend, I have no idea how to implement this for the 'hotpatch' attribute I just added.
2010 Oct 26
2
[LLVMdev] Implementing the hotpatch attribute for X86
On 10/26/10 5:24 PM, Michael Spencer wrote: > The linker adds the padding. Also, the first instruction just has to > be two bytes or longer. Not exactly two bytes. How then does the linker know to add the padding? I assume there's a PE-COFF attribute that will do that, but what about other file formats, like ELF or Mach-O? Bear in mind that I'm doing this for the Wine project, so
2010 Oct 27
1
[LLVMdev] Implementing the hotpatch attribute for X86
> I don't know how GCC handles this case. They may do the padding in the > compiler. You are going to have to look at exactly what GCC does and > whatever hotpatch loader Wine uses to figure out what to do, but it > will most likely be incompatible with the Windows implementation. Why? I don't see how this might be incompatible with what MS linker does; in any case the end
2016 Sep 16
2
setjmp/longjmp and volatile stores, but non-volatile loads
Hi, In our (non-C) compiler we use setjmp/longjmp to implement exception handling. For the initial implementation LLVM backend, I'm keeping that model. In order to ensure that changes performed in a try/setjmp==0 block survive the longjmp, the changes must be done via volatile operations. Given that volatility is a property of individual load/store instructions rather than of memory slots in
2010 Apr 07
1
[LLVMdev] SoC 2010 Proposal
Here's my SoC 2010 proposal. I submitted it a long time ago (last week, to be precise), but didn't post it to the list. You can review it here: http://socghop.appspot.com/gsoc/student_proposal/show/google/gsoc2010/cdavis/t127000394358 Chip
2011 Nov 26
1
[LLVMdev] Where does LLVM mangle characters from llvm-ir names while generating native code?
On Fri, Nov 25, 2011 at 1:47 PM, Charles Davis <cdavis at mymail.mines.edu> wrote: > > On Nov 25, 2011, at 2:22 PM, bigcheesegs at gmail.com wrote: > >> In the case I posted I had removed that line, however, you still get the __3F_ in the generated assembly with it. > Huh. It only seems to happen with a Windows triple or a Linux triple. Doesn't happen with a Mac triple,
2011 Mar 29
0
[LLVMdev] [GSoC] "Microsoft Direct3D shader bytecode backend" proposal
On Mon, Mar 28, 2011 at 9:22 PM, Charles Davis <cdavis at mymail.mines.edu>wrote: > Here's the other of my proposals for this year's Google Summer of Code. > (The first is on cfe-dev.) It was suggested to me by Dan Kegel (from the > Wine project, they really want this). > > Title: Microsoft Direct3D shader bytecode backend > > Abstract: > > There is a
2011 Mar 29
0
[LLVMdev] [GSoC] "Microsoft Direct3D shader bytecode backend" proposal
On Mar 29, 2011, at 9:02 AM, Charles Davis wrote: > On 3/29/11 5:14 AM, Justin Holewinski wrote: >> On Mon, Mar 28, 2011 at 9:22 PM, Charles Davis <cdavis at mymail.mines.edu >> <mailto:cdavis at mymail.mines.edu>> wrote: >> >> Here's the other of my proposals for this year's Google Summer of Code. >> (The first is on cfe-dev.) It was
2011 Mar 29
2
[LLVMdev] [GSoC] "Microsoft Direct3D shader bytecode backend" proposal
On 3/29/11 5:14 AM, Justin Holewinski wrote: > On Mon, Mar 28, 2011 at 9:22 PM, Charles Davis <cdavis at mymail.mines.edu > <mailto:cdavis at mymail.mines.edu>> wrote: > > Here's the other of my proposals for this year's Google Summer of Code. > (The first is on cfe-dev.) It was suggested to me by Dan Kegel (from the > Wine project, they really
2011 Oct 05
0
[LLVMdev] setjmp - longjmp
On Oct 4, 2011, at 8:23 PM, Khaled ElWazeer wrote: > Actually my problem is solved when I added "__sigsetjmp" to this list. Rafael just added a returns_twice function attribute to LLVM IR. I expect he will update the callsFunctionThatReturnsTwice() function soon. /jakob
2012 May 18
0
[LLVMdev] ReleaseNotes typos
In the long list of globals that are now in the TargetOptions struct, I noticed this one was misspelled. llvm::LessPrecideFPMAD() And now that I look it over w/ spellcheck: ARM Architecural Reference pre-unfied returns_twice fo functions
2012 Jun 21
0
[LLVMdev] [cfe-dev] is configure+make dead yet?
On Thu, Jun 21, 2012 at 10:43 AM, Charles Davis <cdavis at mymail.mines.edu>wrote: > > On Jun 20, 2012, at 6:19 PM, Chandler Carruth wrote: > > On Wed, Jun 20, 2012 at 5:13 PM, Nick Lewycky <nlewycky at google.com> wrote: > >> Is there anybody who is certain that our autoconf dependency needs to >> stay around? Are there developers stuck on systems that
2011 Jun 04
4
[LLVMdev] Compiling whole programs to bitcode
On Sat, Jun 4, 2011 at 5:21 AM, Charles Davis <cdavis at mymail.mines.edu> wrote: > You can link your bitcode together with glibc's bitcode by using the > llvm-link utility. Then you can run DCE over the bitcode with "opt -dce" > and cull all the functions you don't need. Right, that's still a reasonably straightforward solution for C... I think what I'm