search for: msp430call

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...