search for: targetschedul

Displaying 20 results from an estimated 35 matches for "targetschedul".

Did you mean: targetschedule
2006 Nov 30
1
[LLVMdev] Could not find include file 'llvm/Intrinsics.td'
Thank you, Mr. Criswell. It actually worked but now this tblgen cannot find 'TargetSchedule.td' which is in the folder where 'Target.td' is in, as follows: Included from ARM.td:18: Parsing ../Target.td:121: Could not find include file 'TargetSchedule.td'! The location of 'Intrinsics.td' is different from that of 'Target.td'. How can I deal with this...
2013 Sep 30
0
[LLVMdev] Out of tree targets: Possibly additional API to implement for out of tree targets using the IfConverter
Hi all, If you have an out of tree target and use the IfConverter be aware of a new API call "getPredictationCost“ that you might want to implement: After commit r191671: IfConverter: Use TargetSchedule for instruction latencies For targets that have instruction itineraries this means no change. Targets that move over to the new schedule model will be able to use the new schedule module for instruction latencies in the if-converter (the logic is such that if there is no itine...
2013 Nov 13
2
[LLVMdev] SchedMachineModel clarifications
...g come up with a SchedMachineModel for the AMD bulldozer http://en.wikipedia.org/wiki/Bulldozer_(microarchitecture). The model is not exist for the same .Please correct me if am i wrong here. I was going through your reference @ https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/Target/TargetSchedule.td . But I couldn’t model some of the your definitions in the reference like a)Subtargets b)SchedReadWrite and SchedReadAdvance c) per-operand to the processor architecture instance . I will be glad if you give me some instance example on the above definitions Thanks...
2013 Nov 21
0
[LLVMdev] SchedMachineModel clarifications
...he AMD bulldozer http://en.wikipedia.org/wiki/Bulldozer_(microarchitecture). > > > > The model is not exist for the same .Please correct me if am i wrong here. > > > > I was going through your reference @ > https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/Target/TargetSchedule.td > . > > > > But I couldn’t model some of the your definitions in the reference like > > > > a)Subtargets > > > > b)SchedReadWrite and SchedReadAdvance > > > > c) per-operand > > > > to the processor architecture instance . &g...
2017 Sep 26
0
Errors linking with LLVM 5.0 - dump() missing
...d then it hit another, and another. Here is what I have found so far that would need to be fixed under the current arrangement. LLVM_ENABLE_DUMP added to: include/llvm/CodeGen/MachineRegisterInfo.h dumpUses() include/llvm/CodeGen/MachineScheduler.h dumpScheduledState() include/llvm/CodeGen/TargetSchedule.h getResourceName() include/llvm/MC/MCSchedule.h Name utils/TableGen/SubtargetEmitter.cpp emitted code inside EmitSchedModel() Unknown location in AArch64 This is not the end. I just lost track of what to change at this point. Perhaps it would be easier to revert the change that hid...
2017 Sep 26
3
Errors linking with LLVM 5.0 - dump() missing
...t I have found so far that would need to be fixed under the current arrangement. > > LLVM_ENABLE_DUMP added to: > > include/llvm/CodeGen/MachineRegisterInfo.h > dumpUses() > > include/llvm/CodeGen/MachineScheduler.h > dumpScheduledState() > > include/llvm/CodeGen/TargetSchedule.h > getResourceName() > > include/llvm/MC/MCSchedule.h > Name > > utils/TableGen/SubtargetEmitter.cpp > emitted code inside EmitSchedModel() > > Unknown location in AArch64 > This is not the end. I just lost track of what to change at this point. I guess that...
2016 Dec 16
1
help/hints/suggestions/tips please: how to give _generic_ compilation for a particular ISA a non-zero LoopMicroOpBufferSize?
...ureCustomCheapAsMoveHandling" to the list of features, but I have no idea how to change the LoopMicroOpBufferSize, default or otherwise. Furthermore, "NoSchedModel" seems to be a cross-ISA entity that is defined by code generated from this snippet of "llvm/include/llvm/Target/TargetSchedule.td": def NoSchedModel : SchedMachineModel { let NoModel = 1; let CompleteModel = 0; } ... which is made the default model in code generated from this snippet of "llvm/include/llvm/Target/Target.td": class Processor<string n, ProcessorItineraries pi, list&l...
2017 Sep 26
2
Errors linking with LLVM 5.0 - dump() missing
On 09/25/2017 06:19 PM, Matthias Braun wrote: > >> On Sep 25, 2017, at 6:03 PM, David Keaton via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> On 09/25/2017 02:53 PM, Matthias Braun via llvm-dev wrote: >>> The dump methods can be included in the release builds anyway by enabling LLVM_ENABLE_DUMP. >> >> Is there a way to pass
2017 Sep 27
0
Errors linking with LLVM 5.0 - dump() missing
...the current arrangement. > > > > LLVM_ENABLE_DUMP added to: > > > > include/llvm/CodeGen/MachineRegisterInfo.h > > dumpUses() > > > > include/llvm/CodeGen/MachineScheduler.h > > dumpScheduledState() > > > > include/llvm/CodeGen/TargetSchedule.h > > getResourceName() > > > > include/llvm/MC/MCSchedule.h > > Name > > > > utils/TableGen/SubtargetEmitter.cpp > > emitted code inside EmitSchedModel() > > > > Unknown location in AArch64 > > This is not the end...
2018 May 10
2
[RFC] MC support for variant scheduling classes.
...edPredicate is essentially a custom block of C++ code used by the SubtargetEmitter to generate a condition through a boolean expression. A SchedPredicate sees all the definitions that are "captured" by the `PredicateProlog` (another block of C++ code). It can also access public members of TargetSchedule. A common pattern used by the ARM scheduling models to define predicates is: - PredicateProlog "captures" the TargetInstrInfo object from the TargetSchedule object. - Each predicate uses the "captured" TargetInstrInfo object (TII) to call helpers exposed by the (target...
2013 Nov 22
0
[LLVMdev] [PATCH] Bulldozer SchedMachineModel
...t; > > > > > > > The model is not exist for the same .Please correct me if am i wrong > here. > > > > > > > > > > > > I was going through your reference @ > > > > https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/Target/TargetSchedule.td > > > . > > > > > > > > > > > > But I couldn?t model some of the your definitions in the reference > like > > > > > > > > > > > > a)Subtargets > > > > > > > > > > > > b)Sc...
2016 Apr 26
3
How to get started with instruction scheduling? Advice needed.
...chitectures cannot be expressed in the per-operand scheduling model and the heuristics of the pre-RA scheduling pass is probably a bit too focussed on register pressure for in-order cores (I have no numbers, just hearsay). There is some documentation in comments at the start of include/llvm/Target/TargetSchedule.td that you might find useful. If you are going to look at an existing scheduling model, I suggest to look at an in-order core. A good example would be AArch64/AArch64SchedA53.td. If itineraries are present, they are used by the mi-scheduler next to the SchedMachineModel to detect hazards. I think...
2018 Jul 24
2
Software pipeline using LLVM
Hi all, I want to generate assembly code using Swing Modulo Scheduling in LLVM for many ALU (May could be Adders, multilayer ......), I need some help how I can do that, which commend I run? Also if possible more information about the scheduling and the register location ......, and which pass responsible about that, and which LLVM version support Swing Modulo Scheduling. Thank you. Regards
2018 Mar 15
1
[RFC] llvm-exegesis: Automatic Measurement of Instruction Latency/Uops
I am, of course, a huge fan of this effort. :) > >> >> - >> >> [??] Make the tool work for other CPUs. This mainly depends on the >> presence of performance counters. >> >> Having these requirements documented will be great. In particular, it's important to document what kind of functionality we need out of the PMU rather than any
2015 Nov 16
3
DFAPacketizer, Scheduling and LoadLatency
I'm unclear how does DFAPacketizer and the scheduler know a given instruction is a load. Here is what I'm talking about Let's assume my VLIW target is described as follows: def MyTargetItineraries : ProcessorItineraries<[Slot0, Slot1], [], [ .............................. InstrItinData<RI, [InstrStage<1, [Slot0, Slot1]>]>,
2018 May 09
2
[MachineScheduler] Question about IssueWidth / NumMicroOps
...ed in an out-of-order processor" (2) "sending the instruction to the functional unit for execution" I would hope to be right when I think that IssueWidth (1) would relate to the decoding capacity, while (2) would reflect the executional capacity per cycle. There is this comment in TargetSchedule.td: // Use BufferSize = 0 for resources that force "dispatch/issue // groups". (Different processors define dispath/issue // differently. Here we refer to stage between decoding into micro-ops // and moving them into a reservation station.) Normally NumMicroOps // is sufficient to limit...
2013 Sep 26
1
[LLVMdev] [llvm] r190717 - Adds support for Atom Silvermont (SLM) - -march=slm
...PostRA scheduler. It is a maintenance burden that doesn't serve a purpose for targets that have migrated to MachineScheduler. > > Is there any documentation about the new machine model? As with the old itineraries, I don't have formal docs. Only the attempt at self-documentation in TargetSchedule.td. There are also some BOF slides from last year's LLVM dev meeting. The best way for me to improve the docs and for someone to migrate their target is to work together in an iterative process. Let me know when you have a chance to work on migration of SLM or Atom. I can provide a sample of...
2011 Sep 23
0
[LLVMdev] Pre-Allocation Schedulers in LLVM
...it be to add an x86 itinerary? Can you point me to the file or files that have to be added or changed? Where can I find an example of an existing itinerary for some other target? ARM itineraries are in lib/Target/ARM/ARMScheduleV?.td. A description of the itinerary format is in include/llvm/Target/TargetSchedule.td. It's easy to add a new itinerary, but hard to specify the behavior of x86 microarchitecture to put it mildly.The itinerary format is quite detailed and verbose as a result of being target independent. It's reasonably powerful, but you have to play tricks such as defining fake function...
2018 Jun 08
4
[RFC] Porting MachinePipeliner to AArch64+SVE
...e welcome. Thank you very much. Best regards, -- -------------------------------------- Masaki Arai ======================================== (*) Currently, many CPU scheduling models are defined by the form not using Instruction itineraries. Therefore, they have the form 1 or 2 in the following TargetSchedule.td: // The SchedMachineModel is defined by subtargets for three categories of data: // 1. Basic properties for coarse grained instruction cost model. // 2. Scheduler Read/Write resources for simple per-opcode cost model. // 3. Instruction itineraries for detailed reservation tables. By making Ma...
2011 Sep 26
1
[LLVMdev] Pre-Allocation Schedulers in LLVM
...it be to add an x86 itinerary? Can you point me to the file or files that have to be added or changed? Where can I find an example of an existing itinerary for some other target? ARM itineraries are in lib/Target/ARM/ARMScheduleV?.td. A description of the itinerary format is in include/llvm/Target/TargetSchedule.td. It's easy to add a new itinerary, but hard to specify the behavior of x86 microarchitecture to put it mildly.The itinerary format is quite detailed and verbose as a result of being target independent. It's reasonably powerful, but you have to play tricks such as defining fake functio...