Displaying 6 results from an estimated 6 matches for "msp430call".
2012 Jul 25
2
[LLVMdev] Purpose of MSP430Wrapper
...bol
all get lowered to MSP430ISD::Wrapper(address space) plus the wrapped
address node.
What has me mystified is that in some of the patterns in
MSP430InstrInfo.td take the form
def : Pat<(i16 (MSP430Wrapper tglobaladdr:$dst)), (MOV16ri
tglobaladdr:$dst)>;
and others ...
def : Pat<(MSP430call (i16 tglobaladdr:$dst)), (CALLi tglobaladdr:$dst)>;
In other words, some patterns rely on MSP430Wrapper being part of the
pattern then extract the wrapped info anyway, and some others just
directly match tglobaladdr and friends.
I have noticed that many other backends use the same idiom but...
2010 Jun 21
0
[LLVMdev] r98938 broke argument passing on MSP430?
...root out the problem?
Anton graciously helped me out of band. I'm attaching his patch
(recomputed against ToT), which fixes a bug in MSP430InstrInfo.td.
I'm afraid I don't know how to write a testcase for this bug.
(Key insight from Anton: attaching "SDNPVariadic" to "MSP430call"
indicates that the *instruction selector pattern*, not the call
instruction, is variadic.)
-ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: msp430-call-variadic.patch
Type: application/octet-stream
Size: 677 bytes
Desc: not available
URL: <http://li...
2010 Jun 11
2
[LLVMdev] r98938 broke argument passing on MSP430?
Hello,
Yesterday I noticed that MSP430 argument passing is broken in trunk;
see http://llvm.org/PR6573 for details and testcases. The problem is
that calls aren't being preceded by instructions that put the
arguments into registers. I backtracked my working copy and then
stepped forward until it broke between r98937 and r98938. Refining
further, I found that rolling back the
2012 Jul 25
0
[LLVMdev] Purpose of MSP430Wrapper
...e) plus the wrapped
> address node.
>
> What has me mystified is that in some of the patterns in
> MSP430InstrInfo.td take the form
>
> def : Pat<(i16 (MSP430Wrapper tglobaladdr:$dst)), (MOV16ri
> tglobaladdr:$dst)>;
>
> and others ...
>
> def : Pat<(MSP430call (i16 tglobaladdr:$dst)), (CALLi tglobaladdr:$dst)>;
>
> In other words, some patterns rely on MSP430Wrapper being part of the
> pattern then extract the wrapped info anyway, and some others just
> directly match tglobaladdr and friends.
>
> I have noticed that many other ba...
2012 Jul 25
0
[LLVMdev] Purpose of (XXX)Wrapper
...lSymbol
all get lowered to MSP430ISD::Wrapper(address base) plus the wrapped address node.
What has me mystified is that in some of the patterns in
MSP430InstrInfo.td take the form
def : Pat<(i16 (MSP430Wrapper tglobaladdr:$dst)), (MOV16ri tglobaladdr:$dst)>;
and others ...
def : Pat<(MSP430call (i16 tglobaladdr:$dst)), (CALLi tglobaladdr:$dst)>;
In other words, some patterns rely on MSP430Wrapper being part of the pattern then extract the wrapped info anyway, and some others just directly match tglobaladdr and friends.
I have noticed that many other backends use the same idiom but so...
2012 Jul 25
2
[LLVMdev] Purpose of MSP430Wrapper
...node.
>>
>> What has me mystified is that in some of the patterns in
>> MSP430InstrInfo.td take the form
>>
>> def : Pat<(i16 (MSP430Wrapper tglobaladdr:$dst)), (MOV16ri
>> tglobaladdr:$dst)>;
>>
>> and others ...
>>
>> def : Pat<(MSP430call (i16 tglobaladdr:$dst)), (CALLi tglobaladdr:$dst)>;
>>
>> In other words, some patterns rely on MSP430Wrapper being part of the
>> pattern then extract the wrapped info anyway, and some others just
>> directly match tglobaladdr and friends.
>>
>> I have notice...