search for: prologu

Displaying 20 results from an estimated 673 matches for "prologu".

Did you mean: prologue
2018 Jan 26
4
[RFC] Improving compact x86-64 compact unwind descriptors
Here is our proposal to extend/enhance the x86-64 compact unwind descriptors to fully describe the prologue/epilogue for asynchronous unwinding.  I believe there are missing/lacking CFI directives as well, but I'll save that for another thread. Asynchronous Compact Unwind Descriptors Ron Brender, VMS Software, Inc. Revised January 25, 2018 1  Introduction This document proposes means to extend so...
2012 Feb 16
0
[LLVMdev] difference in function prologue generated with clang and gcc
Hello > The prologue length in .debug_line is 157 for clang generated one, whereas > it is 34 for gcc generated one. I am curious about the results of making > prologue generated by clang look similar with one generated by gcc. > Could anyone let me know why this difference exists and if it is for good > /...
2012 Feb 16
2
[LLVMdev] difference in function prologue generated with clang and gcc
1. I would like to know why there is a difference in function prologue generated for same function with clang and gcc. Compiler options used for gcc were as follows: arm-linux-gnueabi-gcc all-types.c -w -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=vfp -g -lm -o all-types_gcc Compiler options used for clang were as follows: /usr/local/bin/cl...
2018 Jan 27
0
[RFC] Improving compact x86-64 compact unwind descriptors
...est in 5.1) would be much simpler (like SHT_REL was widened to SHT_RELA). -Nick > On Jan 26, 2018, at 7:54 AM, John Reagan via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Here is our proposal to extend/enhance the x86-64 compact unwind > descriptors to fully describe the prologue/epilogue for asynchronous > unwinding. I believe there are missing/lacking CFI directives as well, > but I'll save that for another thread. > > > Asynchronous Compact Unwind Descriptors > Ron Brender, VMS Software, Inc. > Revised January 25, 2018 > > 1 Introduct...
2018 Jan 29
2
[RFC] Improving compact x86-64 compact unwind descriptors
...L was widened to SHT_RELA). > > -Nick > > > > > On Jan 26, 2018, at 7:54 AM, John Reagan via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > Here is our proposal to extend/enhance the x86-64 compact unwind > > descriptors to fully describe the prologue/epilogue for asynchronous > > unwinding. I believe there are missing/lacking CFI directives as well, > > but I'll save that for another thread. > > > > > > Asynchronous Compact Unwind Descriptors > > Ron Brender, VMS Software, Inc. > > Revised January...
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-c...
2018 Jan 27
0
[RFC] Improving compact x86-64 compact unwind descriptors
...uctions always come at the end of the function -- or rather, just before the next function. If there is a stack protector __stack_chk_fail sequence, or there is NOP padding between functions, then the epilogue cannot be expressed. The proposed encoding allows for instructions scheduled before the prologue, as long as they're guaranteed to never throw an exception or spill registers, but there's no similar affordance for after the epilogue. 2. In section 3.1, "A null frame (MODE = 8) is the simplest possible frame, with no allocated stack of either kind (hence no saved registers). A nu...
2015 Oct 12
2
[RFC] Clean up the way we store optional Function data
...Function have 3 optional operands. (For context -- Function currently has 1 optional operand, and my proposal is to move to 0.) >> >> Could someone else chime in on what they'd like to see? > > Sanjoy's idea makes sense to me, but only if we never need to add > prefix/prologue data after functions are created. Are there any places > where we need/want to add them after the fact? I think so. I see: LinkModules.cpp: Dst.setPrefixData(MapValue(Src.getPrefixData(), ValueMap, BitcodeReader.cpp: FunctionPrologueWorklist.back().first->setPrologueData(C); InlineFun...
2011 Jan 04
3
[LLVMdev] force inlineing a function using opt
Hi, I am instrumenting the stores in a program by inserting a function call (store_prologue) before every store instruction in the IR file. I set the prologue function's attribute to "AlwaysInline" using addFnAttr(). In the program the prologue function is defined as static inline. I am using opt to generate an optimized (inline the calls to the store prologue) using th...
2003 Dec 24
2
[LLVMdev] main, prologue & call
hi, I don't understand exactlly the difference among main function, prologue code, and call function. how the llvm JIT process them in details? the main function is a program start entry prologue code call yueqiang 2003/12/25
2015 Oct 12
3
[RFC] Clean up the way we store optional Function data
...perands. (For context -- Function currently has 1 optional operand, and my proposal is to move to 0.) >>>> >>>> Could someone else chime in on what they'd like to see? >>> Sanjoy's idea makes sense to me, but only if we never need to add >>> prefix/prologue data after functions are created. Are there any places >>> where we need/want to add them after the fact? >> >> I think so. I see: >> >> LinkModules.cpp: Dst.setPrefixData(MapValue(Src.getPrefixData(), ValueMap, >> BitcodeReader.cpp: FunctionPrologueWo...
2012 Feb 16
3
[LLVMdev] difference in function prologue generated with clang and gcc
...l explicitly during compilation. For GCC default is O0 ie., no optimization. Do you mean that clang uses other optimization level other than O0 ? Could you please clarify ? On Thu, Feb 16, 2012 at 6:52 PM, Anton Korobeynikov <anton at korobeynikov.info > wrote: > Hello > > > The prologue length in .debug_line is 157 for clang generated one, > whereas > > it is 34 for gcc generated one. I am curious about the results of making > > prologue generated by clang look similar with one generated by gcc. > > Could anyone let me know why this difference exists and if i...
2011 Jan 05
0
[LLVMdev] force inlineing a function using opt
If I understand correctly, you're saying that the C source definition of the prologue function is declared as static. If you compile that function to LLVM IR, it will get interal linkage and will not be visible to functions in other compilation units; instead, it will get renamed if there is a function defined with the same name. As such, it will never get inlined as the instrume...
2003 Dec 25
0
[LLVMdev] main, prologue & call
> I don't understand exactlly the difference among main function, prologue > code, and call function. I'm not sure that I understand your question. LLVM abstracts away target-specific information like function prologs and epilogs. If you are curious about the typical arrangement used by unix systems with _start and main, LLVM does not have that. Basically it u...
2016 Apr 14
2
RFC: New function attribute "patchable-prologue"="<kind>"
...direction patching schemes are going to be mutually incompatible, so I'm not sure it makes sense to make this attribute a comma-separated list. I think Eric's and Dean's use case may be better addressed by a separate attribute. My recollection is that they want to add nop slides to the prologue and epilogue that can be hotpatched to enable and disable instrumentation at runtime. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160414/a061e542/attachment.html>
2016 Apr 07
2
RFC: New function attribute "patchable-prologue"="<kind>"
Hi Eric, Eric Christopher wrote: > Two things: > > a) I'm not against this Great! > b) So, what's your use case? I've got something I'm idly working on with > someone else where we want patchable targets in both prologue and > epilogue (and some other places...), and am thinking of how to make this > someone generic enough to build off of there. We plan to use this to be able to divert control flow from an LLVM compiled function to "somewhere else" where the "somewhere else" is usually...
2015 Oct 12
2
[RFC] Clean up the way we store optional Function data
...1 optional operand, > and my proposal is to move to 0.) > > >>> > > >>> Could someone else chime in on what they'd like to see? > > >> Sanjoy's idea makes sense to me, but only if we never need to add > > >> prefix/prologue data after functions are created. Are there any > places > > >> where we need/want to add them after the fact? > > > > > > I think so. I see: > > > > > > LinkModules.cpp: > Dst.setPrefixData(MapValue(Src.getPrefixDa...
2003 Dec 25
1
[LLVMdev] main, prologue & call
Chris Lattner wrote: >>I don't understand exactlly the difference among main function, prologue >>code, and call function. >> >> > >I'm not sure that I understand your question. LLVM abstracts away >target-specific information like function prologs and epilogs. > >If you are curious about the typical arrangement used by unix systems with >_start a...
2015 Oct 10
2
[RFC] Clean up the way we store optional Function data
Function's have three kinds of optional data: prefix data, prologue data, and personalities. We don't have a consistent way of storing this data, IMO. This RFC discusses a new way of managing optional data that makes llvm::Function cleaner, more consistent, and a little smaller. What do we do currently? ======================== Prefix and prologue data are...
2012 Oct 26
1
[LLVMdev] Properly handling mem-loc arguments when prologue adjusts FP.
...g from it (in LowerFormalArguments[2]). This approach was based on MSP430. I now have the problem that the resulting loads in my output assembly are done assuming that the call stack looks something like: ------ MemArg ------ MemArg ------ <-- Frame Pointer This isn't true, because during prologue I emit a number of instructions to store the return address, the old frame pointer value, etc[3], so that the stack ends up looking like: ------ MemArg ------ MemArg ------ VarArg ------ Return Addr Register ------ Old Frame Pointer ------ <-- Frame Pointer At this point, the memory-argument...