search for: prologepilog

Displaying 19 results from an estimated 19 matches for "prologepilog".

2018 Mar 04
1
[GSOC 2018] Improve code generation testing
Hi Matthias, I am a fourth year undergraduate student with some knowledge working on code generation, but with the java backend (committer at an Apache project) and have C++ as my primary language. What I've done so far? ----- 1. I've created an account on bugzilla 2. studying LLVM ProgrammersManual 3. studying LLVM CodingStandards Help ---- 1. trying to setup `llvm-core` and `clang`
2018 Jun 15
2
Strange Machineinstr
On 6/15/2018 11:58 AM, Muhui Jiang wrote: > Is it possible to dump both the frame setup/cleanup MIR and the MIR I > have at this moment? You can dump the MIR after each pass with -mllvm -print-after-all. Look for "Prologue/Epilogue Insertion". -Krzysztof -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
2018 Mar 21
0
Run llc with -debug flag
llc accepts all the -debug variants when built with asserts (or debug build). It will accept -debug as well as -debug=prologepilog for your case. On Wed, Mar 21, 2018 at 7:27 AM, Meet Udeshi via llvm-dev < llvm-dev at lists.llvm.org> wrote: > I want to check debug output of "PrologEpilogInserter" machine pass, and I > have seen in the code that there are various `DEBUG` macros added. > > However,...
2018 Mar 21
2
Run llc with -debug flag
I want to check debug output of "PrologEpilogInserter" machine pass, and I have seen in the code that there are various `DEBUG` macros added. However, there is no `-debug` option present for `llc` like it is for `opt`. Closest option I saw after seeing output of `llc --help-list` is `-verify-debug-info` but that does not give any output....
2020 Jun 24
2
Renaming passes
...; stable interface? When is it ok to rename a pass? If there are 800 >> usages of a flag, should I rename them atomically? > > I think the pass naming scheme needs a lot of work. The naming > conventions seem random at times. For instance, I can never remember > how to refer to PrologEpilogInserter. The DEBUG_TYPE name is > “prologepilog”, the pass class name is “PEI”. I would expect this to > be prolog-epilog-inserter to match the file and formal pass name, and > consistently use dashes as word separators. Can I suggest we allow aliases?  We can except all of these names,...
2012 Jun 12
2
[LLVMdev] How to use LLVM optimizations with clang
...s -unreachable-mbb-elimination -livevars -phi-node-elimination -twoaddressinstruction -processimpdefs -slotindexes -liveintervals -livedebugvars -simple-register-coalescing -calcspillweights -livestacks -virtregmap -edge-bundles -spill-code-placement -stack-slot-coloring -machinelicm -edge-bundles -prologepilog -branch-folder -tailduplication -machine-cp -postrapseudos -machinedomtree -machine-loops -post-RA-sched -gc-analysis -machine-block-freq -block-placement2 -machinedomtree -machine-loops Now, how can I specify these optimization manually along with llc like we did with opt tool? Regards Shahzad...
2018 Feb 05
0
Dumping the static stack reservation sizes for functions
...xisting way of getting this information emitted in an easily parsable way (e.g. in CSV form) , or will I need to add the capability? There is an optimization remark emitted (in YAML) for the stack size: $ clang -fsave-optimization-record foo.c $ cat foo.opt.yaml […] --- !Analysis Pass: prologepilog Name: StackSize DebugLoc: { File: foo.c, Line: 3, Column: 0 } Function: main Args: - NumStackBytes: '24' - String: ' stack bytes in function' ... […] For more information about optimization remarks I suggest Adam’s talk: https://llvm.org/devm...
2020 Jun 24
2
Renaming passes
...me a stable interface? When is it ok to rename a pass? If there are 800 usages of a flag, should I rename them atomically? >> >> >> I think the pass naming scheme needs a lot of work. The naming conventions seem random at times. For instance, I can never remember how to refer to PrologEpilogInserter. The DEBUG_TYPE name is “prologepilog”, the pass class name is “PEI”. I would expect this to be prolog-epilog-inserter to match the file and formal pass name, and consistently use dashes as word separators. > Can I suggest we allow aliases? We can except all of these names, pick a canon...
2018 Feb 05
2
Dumping the static stack reservation sizes for functions
I would like to be able to emit a list of functions by name and their fixed stack reservation size information, so that a programmer can gauge how much stack they are likely to need in tightly constrained embedded systems. Despite the rich number of options, the only option I can find that is even relatively close is: -warn-stack-size=<uint> Is there some existing way of getting this
2015 Jan 17
3
[LLVMdev] loop multiversioning
...machine-loops -phi-node-elimination -twoaddressinstruction -slotindexes -liveintervals -simple-register-coalescing -misched -machine-block-freq -livedebugvars -livestacks -virtregmap -liveregmatrix -edge-bundles -spill-code-placement -virtregrewriter -stack-slot-coloring -machinelicm -edge-bundles -prologepilog -machine-block-freq -branch-folder -tailduplication -machine-cp -postrapseudos -machinedomtree -machine-loops -post-RA-sched -gc-analysis -machine-block-freq -block-placement2 -stackmap-liveness Thanks, Trent -------------- next part -------------- An HTML attachment was scrubbed... URL: <http:...
2018 Feb 05
1
Dumping the static stack reservation sizes for functions
...xisting way of getting this information emitted in an easily parsable way (e.g. in CSV form) , or will I need to add the capability? There is an optimization remark emitted (in YAML) for the stack size: $ clang -fsave-optimization-record foo.c $ cat foo.opt.yaml […] --- !Analysis Pass: prologepilog Name: StackSize DebugLoc: { File: foo.c, Line: 3, Column: 0 } Function: main Args: - NumStackBytes: '24' - String: ' stack bytes in function' ... […] For more information about optimization remarks I suggest Adam’s talk: https://llvm.org/devm...
2012 Jun 12
0
[LLVMdev] How to use LLVM optimizations with clang
...ation -livevars > -phi-node-elimination -twoaddressinstruction -processimpdefs > -slotindexes -liveintervals -livedebugvars -simple-register-coalescing > -calcspillweights -livestacks -virtregmap -edge-bundles > -spill-code-placement -stack-slot-coloring -machinelicm -edge-bundles > -prologepilog -branch-folder -tailduplication -machine-cp > -postrapseudos -machinedomtree -machine-loops -post-RA-sched > -gc-analysis -machine-block-freq -block-placement2 -machinedomtree > -machine-loops > > Now, how can I specify these optimization manually along with llc like > we did with...
2020 Jun 24
4
Renaming passes
Hi, As part of new pass manager work, I've been trying to get something like `opt -foo` working under the NPM, where `foo` is the name of a pass. In the past there's been no reason to keep the names of passes consistent between NPM and legacy PM. But now there is a reason to make them match, so that we don't have to touch every single test that uses `opt`. There are a couple of
2010 Jan 13
2
[LLVMdev] Cross-module function inlining
...are -stack-protector -machine-function-analysis -machinedomtree -machine-loops -machinelicm -machine-sink -unreachable-mbb-elimination -livevars -phi-node-elimination -twoaddressinstruction -liveintervals -simple-register-coalescing -livestacks -virtregmap -linearscan-regalloc -stack-slot-coloring -prologepilog -machinedomtree -machine-loops -machine-loops I'm sure I can hack away to manually add these passes, but I'd prefer an informed opinion on the best way to achieve this, or if there's a more proper way to achieve the same thing (i.e. inter-module function inlining). Also, I've noti...
2018 Apr 19
1
xtensa backend
...ib/Target/Xtensa ? For now, only the simpler CALL0 calling convention is implemented. In order to implement the windowed calling convention, every routines must start with the ENTRY instruction which increments the register window pointer. Do I have to manually insert this instruction during the PrologEpilog phase, and how can I declare this instruction ? Maxime -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180419/6af105e9/attachment.html>
2012 Jun 12
0
[LLVMdev] How to use LLVM optimizations with clang
Hi, On 12/06/12 13:09, Abdul Wahid Memon wrote: > Thanks alot. How can we view those optimization which are enabled when we do > > llc -O3 comb.ll llc -O3 comb.ll -debug-pass=Arguments > > Are these the same as the ones produced by the following command line no, as I mentioned before they are of a completely different nature to the optimizations that opt does. Ciao, Duncan.
2012 Jun 12
2
[LLVMdev] How to use LLVM optimizations with clang
Thanks alot. How can we view those optimization which are enabled when we do llc -O3 comb.ll Are these the same as the ones produced by the following command line llvm-as < /dev/null | opt -O3 -disable-output -debug-pass=Arguments Regards Shahzad On Tue, Jun 12, 2012 at 1:01 PM, Duncan Sands <baldrick at free.fr> wrote: >> Yes. But how exactly code generation (optimized one)
2010 Jan 13
0
[LLVMdev] Cross-module function inlining
...are -stack-protector -machine-function-analysis -machinedomtree -machine-loops -machinelicm -machine-sink -unreachable-mbb-elimination -livevars -phi-node-elimination -twoaddressinstruction -liveintervals -simple-register-coalescing -livestacks -virtregmap -linearscan-regalloc -stack-slot-coloring -prologepilog -machinedomtree -machine-loops -machine-loops > > I'm sure I can hack away to manually add these passes, but I'd prefer an informed opinion on the best way to achieve this, or if there's a more proper way to achieve the same thing (i.e. inter-module function inlining). > > A...
2020 Feb 25
2
[RFC] DebugInfo: A different way of specifying variable locations post-isel
Hi Vedant, thanks for the detailed response, On Tue, Feb 25, 2020 at 7:23 AM Vedant Kumar <vedant_kumar at apple.com> wrote: > > Finally, being forced to always specify both the machine location and > > the program location at the same time (in a single DBG_VALUE) > > introduces un-necessary burdens. In MachineSink, when we sink between > > blocks an instruction that