Displaying 5 results from an estimated 5 matches for "predicateprolog".
2018 Mar 06
2
[RFC] llvm-mca: a static performance analysis tool
...d MCschedModel.
Predicates can potentially access information which is not normally
reachable through the MCSchedModel interface. For example, predicate code
coud use the TargetInstrInfo interface to obtain extra description for
MachineInst objects. This is what happens for ARM targets, where the
`PredicateProlog` casts the TargetInstrInfo object to a ARMBaseInstInfo,
and predicated use the ARMBaseInstrInfo interface.
Some predicates defined by the cortex-a9 scheduling model select the
scheduling class "based on the number of memory addresses in the LDM
MachineInstr". Emulating that query would re...
2018 Mar 06
0
[RFC] llvm-mca: a static performance analysis tool
...odel.
>
> Predicates can potentially access information which is not normally reachable through the MCSchedModel interface. For example, predicate code coud use the TargetInstrInfo interface to obtain extra description for MachineInst objects. This is what happens for ARM targets, where the `PredicateProlog` casts the TargetInstrInfo object to a ARMBaseInstInfo, and predicated use the ARMBaseInstrInfo interface.
> Some predicates defined by the cortex-a9 scheduling model select the scheduling class "based on the number of memory addresses in the LDM MachineInstr". Emulating that query wou...
2018 May 10
2
[RFC] MC support for variant scheduling classes.
...>;
```
Problems with the current design
--------------------------------
A SchedPredicate 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 "capt...
2018 Mar 06
0
[RFC] llvm-mca: a static performance analysis tool
> On Mar 5, 2018, at 6:28 PM, Matthias Braun <mbraun at apple.com> wrote:
>
>
>
>> On Mar 5, 2018, at 6:14 PM, Andrew Trick via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>>
>>
>>> On Mar 5, 2018, at 3:38 PM, Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at
2018 Mar 06
3
[RFC] llvm-mca: a static performance analysis tool
> On Mar 5, 2018, at 6:14 PM, Andrew Trick via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
>
>
>> On Mar 5, 2018, at 3:38 PM, Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote:
>>
>> When Ahmed and I worked on the decompiler, we first targeted MC. Going to MI was more difficult and really wouldn’t have gotten us a