Displaying 8 results from an estimated 8 matches for "addtrue".
2012 Aug 20
2
[LLVMdev] TableGen related question for the Hexagon backend
...xample. With one small change, I am able to
represent more complex relations as well.
In the Hexagon backend, a predicated instruction can translate into another
form called 'predicate new'. So, in our example of 'ADD', we can have
another transformation like this -
ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true)
\-----> ADDfalse -----> ADDfalse_new (predicate new form of false)
// Define Predicate New relation
def getPredNewOpcode : InstrMapping {
let FilterClass = "PredNewRel";
let RowFields = ["BaseOpcode"];
//...
2012 Aug 17
2
[LLVMdev] TableGen related question for the Hexagon backend
...coundn't
understand it completely.
Also, how do I get the table from the definition above? For the table, I
need to know the name of the predicated-true and false instructions.
> That should be enough to generate a table:
>
> // key , PredSense=true, PredSense=false
> { ADD , ADDtrue, ADDfalse, // BaseOpcode="ADD"
> { SUB , SUBtrue, SUBfalse, // BaseOpcode="SUB"
>
> > 5) We need some changes in the TGParser.cpp so that it can use the
> > information specified through the RelationMap and populate relevant
>...
2012 Aug 17
0
[LLVMdev] TableGen related question for the Hexagon backend
...h allows us to
> relate instructions with each other? What do you mean by a proper query
> language?
Yes, in the very simple sense that you can relate instructions that have the same value in a field:
def ADD {
let BaseOpcode = "ADD";
let PredSense = "nopred";
}
def ADDtrue {
let BaseOpcode = "ADD";
let PredSense = "true";
}
Inside a multiclass, the NAME variable is set to the base name of the defm. You can use that to relate your instructions.
>> You don't want to be limited to a single 'IFormat' as a column
>> identi...
2012 Aug 20
0
[LLVMdev] TableGen related question for the Hexagon backend
...Jyotsna Verma" <jverma at codeaurora.org> wrote:
> In the Hexagon backend, a predicated instruction can translate into another
> form called 'predicate new'. So, in our example of 'ADD', we can have
> another transformation like this -
>
> ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true)
> \-----> ADDfalse -----> ADDfalse_new (predicate new form of false)
>
> // Define Predicate New relation
> def getPredNewOpcode : InstrMapping {
> let FilterClass = "PredNewRel";
>
> let RowFields...
2012 Aug 17
0
[LLVMdev] TableGen related question for the Hexagon backend
...y column is the unpredicated instructions.
let KeyCol = ["nopred"];
// Value columns are predicate=true and predicate=false
let ValueCols = [["true"], ["false"]];
};
That should be enough to generate a table:
// key , PredSense=true, PredSense=false
{ ADD , ADDtrue, ADDfalse, // BaseOpcode="ADD"
{ SUB , SUBtrue, SUBfalse, // BaseOpcode="SUB"
…
> 5) We need some changes in the TGParser.cpp so that it can use the
> information specified
> through the RelationMap and populate relevant fields in the RelHe...
2012 Aug 20
2
[LLVMdev] TableGen related question for the Hexagon backend
...yotsna Verma" <jverma at codeaurora.org> wrote:
> In the Hexagon backend, a predicated instruction can translate into
> another form called 'predicate new'. So, in our example of 'ADD', we
> can have another transformation like this -
>
> ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true)
> \-----> ADDfalse -----> ADDfalse_new (predicate new form of
> false)
>
> // Define Predicate New relation
> def getPredNewOpcode : InstrMapping {
> let FilterClass = "PredNewRel";
>
> let RowF...
2012 Aug 16
2
[LLVMdev] TableGen related question for the Hexagon backend
Hi Everyone,
After some more thoughts to the Jacob's suggestion of using multiclasses for
Opcode mapping, this is what I have come up with. Please take a look at the
design below and let me know if you have any suggestions/questions.
I have tried to keep the design target independent so that other targets
could benefit from it.
1) The idea is to add 3 new classes into
2012 Aug 21
0
[LLVMdev] TableGen related question for the Hexagon backend
...yotsna Verma" <jverma at codeaurora.org> wrote:
> In the Hexagon backend, a predicated instruction can translate into
> another form called 'predicate new'. So, in our example of 'ADD', we
> can have another transformation like this -
>
> ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true)
> \-----> ADDfalse -----> ADDfalse_new (predicate new form of
> false)
>
> // Define Predicate New relation
> def getPredNewOpcode : InstrMapping {
> let FilterClass = "PredNewRel";
>
> let RowF...