Displaying 8 results from an estimated 8 matches for "selectaddrregreg".
2016 Sep 26
2
Incompatible type assertion from llvm-tblgen
But don't the defs for ADDR_RR and ADDR_RI also contain dags?
def ADDR_RR : Addr< 2, "SelectAddrRegReg",
(ops GPRC:$base, GPRC:$offsetreg) >;
def ADDR_RI : Addr< 2, "SelectAddrRegImm",
(ops GPRC:$base, i64imm:$offsetimm) >;
Do I need to create some other intermediate node type for a shifted address?
Phil
On Mon, Sep 26, 2016 at...
2016 Oct 04
2
Incompatible type assertion from llvm-tblgen
...gt; The matching function would then need to match DAG and generate these 3
> values if the match succeeded.
What I'm finding is that the matching function for 3 arguments (the
SelectAddrShlImm) is never tried for this particular case. This one is
tried:
def ADDR_RR : Addr< 2, "SelectAddrRegReg",
(ops GPRC:$base, GPRC:$offsetreg) >;
I've added some debugging statements to show some of the output from llc
with -debug below:
0x2385bb0: i64,ch = load 0x2356e90, 0x2388b60,
0x2385880<LD8[getelementptr ([0 x i64] addrspace(2)* @SpM_use_row, i64...
2016 Sep 28
2
Incompatible type assertion from llvm-tblgen
On Mon, Sep 26, 2016 at 2:24 PM, Krzysztof Parzyszek <
kparzysz at codeaurora.org> wrote:
> On 9/26/2016 3:58 PM, Phil Tomson wrote:
>
>> But don't the defs for ADDR_RR and ADDR_RI also contain dags?
>>
>> def ADDR_RR : Addr< 2, "SelectAddrRegReg",
>> (ops GPRC:$base, GPRC:$offsetreg) >;
>> def ADDR_RI : Addr< 2, "SelectAddrRegImm",
>> (ops GPRC:$base, i64imm:$offsetimm) >;
>>
>> Do I need to create some other intermediate node type for a shi...
2016 Sep 26
2
Incompatible type assertion from llvm-tblgen
...on support
//
class Addr< int numArgs, string funcName, dag opInfo >
: Operand<i64>,
ComplexPattern< i64, numArgs, funcName, [], [SDNPWantParent] > {
let MIOperandInfo = opInfo;
}
let PrintMethod = "printMemOperand" in {
def ADDR_RR : Addr< 2, "SelectAddrRegReg",
(ops GPRC:$base, GPRC:$offsetreg) >;
def ADDR_RI : Addr< 2, "SelectAddrRegImm",
(ops GPRC:$base, i64imm:$offsetimm) >;
def ADDR_SHLI : Addr< 2, "SelectAddrShlImm",
(ops GPRC:$base, ( shl GPR...
2010 Jan 30
3
[LLVMdev] [patch] MicroBlaze Backend
...:)
More comments:
>+SDValue MBlazeTargetLowering::
>+LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) {
Do you really need this? Expanding dynamic allocas normally ends with
stack register adjustment, you don't need anything special here.
>+bool MBlazeTargetLowering::
>+SelectAddrRegReg(SDValue N, SDValue &Base, SDValue &Index, SelectionDAG &DAG) {
Move this to ISelDAGToDAG file
>+bool MBlazeTargetLowering::
>+SelectAddrRegImm(SDValue N, SDValue &Disp, SDValue &Base, SelectionDAG &DAG) {
Likewise
>+def : Proc<"v400", []>;
>+def...
2010 Jan 30
0
[LLVMdev] [patch] MicroBlaze Backend
On Jan 29, 2010, at 9:42 AM, Wesley Peck wrote:
> I have been working on a LLVM backend for the MicroBlaze soft-processor:
> http://www.xilinx.com/tools/microblaze.htm
> http://en.wikipedia.org/wiki/MicroBlaze
Very Cool!
> Attached is the initial MicroBlaze patch. It does the following:
> 1. Adds mblaze as a target in configure and configure.ac
> 2. Adds mblaze specific
2010 Jan 30
0
[LLVMdev] [patch] MicroBlaze Backend
...'t need anything special here.
I was unsure as to whether I needed this or not. I have been taking the approach of removing things conservatively as I continue to improve the backend. I will take a look at removing this for the next patch.
>
>> +bool MBlazeTargetLowering::
>> +SelectAddrRegReg(SDValue N, SDValue &Base, SDValue &Index, SelectionDAG &DAG) {
> Move this to ISelDAGToDAG file
>
>> +bool MBlazeTargetLowering::
>> +SelectAddrRegImm(SDValue N, SDValue &Disp, SDValue &Base, SelectionDAG &DAG) {
> Likewise
Done.
>
>> +def :...
2010 Jan 29
3
[LLVMdev] [patch] MicroBlaze Backend
I have been working on a LLVM backend for the MicroBlaze soft-processor:
http://www.xilinx.com/tools/microblaze.htm
http://en.wikipedia.org/wiki/MicroBlaze
Attached is the initial MicroBlaze patch. It does the following:
1. Adds mblaze as a target in configure and configure.ac
2. Adds mblaze specific intrinsics in include/llvm/IntrinsicsMBlaze.td and include/llvm/Intrinsics.td
3. Adds mblaze