[LLVMdev] Optimization passes break machine instructions on new backend

Per Fagrell per.fagrell at coresonic.com
Wed Dec 15 05:52:10 PST 2010


Sorry to write so many small mails.

I just tried adding Uses = [CFR] to the selectcc pseudo instruction, and -
voila! - it works! So I guess my question should be rephrased "Why would my
back-end, modeled on another existing back-end, not be flagging the implicit
register as live?"

On Wed, Dec 15, 2010 at 2:43 PM, Per Fagrell <per.fagrell at coresonic.com>wrote:

> It just occured to me that perhaps what happens is that since the
> cmp-instruction is initially followed by the pseudo-instruction - which
> doesn't have Uses = [CFR] - that it's marked dead initially, and never
> changed back when the SKIPCOND is inserted by the custom emitter? But I feel
> that this would happen in e.g. MSP430 too then...
>
>
> On Wed, Dec 15, 2010 at 10:14 AM, Anton Korobeynikov <
> anton at korobeynikov.info> wrote:
>
>> Hello Per,
>>
>> >      SKIPCOND 1, %CFR<imp-use>
>> > Or doesn't that count?
>> Ah, sorry, I didn't recognize the stuff due to funky name. Let me
>> think on the issue more thoroughly then :)
>>
>> --
>> With best regards, Anton Korobeynikov
>> Faculty of Mathematics and Mechanics, Saint Petersburg State University
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20101215/a5e93d7c/attachment.html>


More information about the llvm-dev mailing list