Displaying 20 results from an estimated 60000 matches similar to: "[LLVMdev] Instruction Selection: Splitting instruction selection and scheduling"
2011 Apr 08
1
[LLVMdev] doubts about Instruction Selection and Scheduling
Hello,
I'm working on the text of my Master's Thesis and I have some doubts:
1. What algorithm is used in Selection Instruction ? What is the input ?
2. Where is described how the variations of List Scheduling work, in
-pre-RA-sched phase ?
-pre-RA-sched - Instruction schedulers
available (before register allocation):
=source -
2011 Mar 11
1
[LLVMdev] Accessing an empty machine function before instruction selection?
I'm trying to access the MachineFunctionInfo structure from a pre-ISel pass. In order to do this I have to get access to the MachineFunction and then call getInfo().
Currently in my pass I request it via:
void AMDILBarrierDetect::getAnalysisUsage(AnalysisUsage &AU) const
{
AU.addRequired<MachineFunctionAnalysis>();
FunctionPass::getAnalysisUsage(AU);
}
However, I am getting an
2006 Aug 11
1
[LLVMdev] instruction scheduling for stack machines
Hi!
I'm working on an LLVM back-end for a processor with a stack machine architecture. After experimenting with code generation directly from the LLVM representation, I'm studying the target-independant code generator.
As far as I understand, there currently exists a target-independant infrastructure for legalization, instruction selection, scheduling and register allocation. It is clear
2009 Jul 08
0
[LLVMdev] Selection of multiple instructions
On Jul 8, 2009, at 10:16 AM, Artjom Kochtchi wrote:
>
> Hi,
>
> I'm currently trying to modify LLVM to include runtime checks into X86
> binaries. I've looked into some of the possibilities during the phases
> happening in LLVM and have the impression that inserting runtime
> checks
> during selection would be great, since lots of optimizations are
> already
2015 Dec 16
2
Instruction scheduling done before or after register allocation
Hi,
I have read the steps of code generation from here: The LLVM Target-Independent Code Generator — LLVM 3.8 documentation
| |
| | | | | | | |
| The LLVM Target-Independent Code Generator — LLVM 3...Instruction Selection Instruction Selection is the process of translating LLVM code presented to thecode generator into target-specific machine instructions. |
| |
| View on llvm.org
2016 Nov 07
5
Running GlobaISel passes after SelectionDAG instruction selection
Hi,
I've been experimenting with global isel over the last few weeks and it
is such a vast improvement over the SelectionDAG for the AMDGPU target
that I would really like to begin using it as soon as possible.
Given the lack of a replacement for SelectionDAG's legalizer / combiner,
and how much work this will be to implement, I think the fastest path to
doing this would be to run some
2011 Aug 16
2
[LLVMdev] Register Pressure Computation during Pre-Allocation Scheduling
Thank you for the answers, Jakob! That's really informative for someone who is still new to LLVM like me. Please see my responses below.
-Ghassan
________________________________
From: Jakob Stoklund Olesen <stoklund at 2pi.dk>
To: Ghassan Shobaki <ghassan_shobaki at yahoo.com>
Cc: "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu>
Sent: Tuesday, August 16,
2016 Apr 20
2
How to get started with instruction scheduling? Advice needed.
So if I use the SchedMachineModel method, can I just skip itineraries?
Phil
On Wed, Apr 20, 2016 at 12:29 PM, Sergei Larin <slarin at codeaurora.org>
wrote:
> Target does make a difference. VLIW needs more hand-holding. For what you
> are describing it should be fairly simple.
>
>
>
> Best strategy – see what other targets do. ARM might be a good start for
> generic
2012 Mar 29
2
[LLVMdev] VLIWPacketizerList: failing to schedule terminators
Hi,
I'm trying to use the VLIWPacketizerList to schedule instructions for
the R600 target, and I'm running into this assertion failure:
ScheduleDAGInstrs.cpp:558: Cannot schedule terminators or labels!
I think I might not be using the VLIWPacketizerList class correctly.
I've attached my code to this email. Can anyone spot what I'm doing
wrong?
Also, I had to add a LiveIntervals
2018 Sep 20
2
Errononous scheduling of COPY instruction.
Hi,
I've instruction scheduling problem that I cannot further investigate by myself... Could someone give me some clues?
After Instruction selection, here is part of the generated instruction.
NOP
MOV_AB_ro @s1, %fab_roff0
%6:fpuaoffsetclass = COPY %fab_roff0; FPUaOffsetClass:%6
MOV_A_oo %6, def %5; FPUaOffsetClass:%6,%5
MOVSUTO_A_iSLo 24575, def %7;
2018 Apr 06
0
Instruction selection algorithm
Hi Ivan,
Matcher table generation which is implemented in utils/DAGISelEmitter.cpp
does use heusiristics like number of instructions which a pattern will
cover, latency (not the one which Targets scheduling defines) while
emitting the candidate patterns for a give dag node.
Current implications may not be implication of algorithm in toto though.
Thanks,
Jatin
On Wednesday, March 28, 2018, Ivan
2016 Jun 28
0
Question about Instruction Selection
On Tue, Jun 28, 2016 at 4:42 AM, Bekket McClane via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Hi,
> I'm new to LLVM and I'm doing research on factors of compilation time,
> especially instruction selection and scheduling. One of the academic papers
> I read,
> https://llvm.org/svn/llvm-project/www-pubs/trunk/2008-CGO-DagISel.pdf (Koes,
> David Ryan, and Seth
2016 Dec 13
1
Lowering the metadata attached to an instruction down to Pattern Instruction Selection pass
Hello devlopers,
I request your guidance on how to lower the metadata attached with an
instruction. Following is given the IR dump before Module verifier pass,
and there is a string "Tile3" attached as metadata with instruction "%x
= alloca i32, align 4, !Tile3 !1". My target is to transmit/propagate
the string down to post RA-Scheduling pass. Is it possible? If yes, how
2016 Jun 27
0
Why not do machine instruction scheduling in SSA form?
A motivation for scheduling later is that the program representation is closer to the final instruction stream which makes the machine simulation more accurate. If you schedule too early you do not see the instructions produced by phi elimination and the two address fixup pass.
LiveIntervals should work on MachineSSA form. If it doesn't you should file a bugzilla ticket with more details.
-
2016 Jun 28
2
Question about Instruction Selection
Hi,
I'm new to LLVM and I'm doing research on factors of compilation time,
especially instruction selection and scheduling. One of the academic papers
I read,
https://llvm.org/svn/llvm-project/www-pubs/trunk/2008-CGO-DagISel.pdf (Koes,
David Ryan, and Seth Copen Goldstein. "Near-optimal instruction selection
on dags."), which is also said to be the algorithm LLVM currently
2018 Apr 23
2
pre-RA scheduling/live register analysis optimization (handle move) forcing spill of registers
Hi,
I have a question related to pre-RA scheduling and spill of registers.
I'm writing a backend for two operands instructions set, so FPU operations result have implicit destination.
For example, the result of FMUL_A_oo is implicitly the register FA_ROUTMUL.
I have defined FPUaROUTMULRegisterClass containing only FA_ROUTMUL.
During the instruction lowering, in order to avoid frequent spill
2016 Jun 28
0
Question about Instruction Selection
On Tue, Jun 28, 2016 at 5:49 AM, Bekket McClane
<bekket.mcclane at gmail.com> wrote:
> Thanks for swift reply
>
> Ahmed Bougacha <ahmed.bougacha at gmail.com> 於 2016年6月28日 下午8:11 寫道:
>
> On Tue, Jun 28, 2016 at 4:42 AM, Bekket McClane via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>
> Hi,
> I'm new to LLVM and I'm doing research on factors
2013 Apr 01
0
[LLVMdev] proposed change to class BasicTTI and dual mode mips16/32 working
On 04/01/2013 12:31 PM, Chandler Carruth wrote:
> On Thu, Mar 28, 2013 at 12:22 PM, Nadav Rotem <nrotem at apple.com
> <mailto:nrotem at apple.com>> wrote:
>
> IMHO the right way to handle target function attributes is to
> re-initialize the target machine and TTI for every function (if
> the attributes changed). Do you have another solution in mind ?
2013 Jan 07
0
[LLVMdev] instruction scheduling issue
Krzysztof,
This would be ideal. How can I do the instrumentation pass after the
instruction scheduling?
Xu Liu
Quoting Krzysztof Parzyszek <kparzysz at codeaurora.org>:
> On 1/7/2013 1:53 PM, Sergei Larin wrote:
>>
>> Also, how much performance are you willing to sacrifice to do what you
>> do? Maybe turning off scheduling all together is an acceptable solution?
2016 Jun 27
3
Why not do machine instruction scheduling in SSA form?
Hi LLVM community,
Currently LLVM backend do pre-RA machine instruction scheduling in non-SSA form, I doubt why not do machine scheduling in SSA machine instruction form? Now LLVM’s machine scheduling uses a list-scheduling algorithm, but if we wang to support more complex scheduling algorithms, for example, modulo scheduling for loops, it seems more easy to accomplish this in SSA form as SSA is