[LLVMdev] Post Increment Indirect Move Instructions

Hal Finkel hfinkel at anl.gov
Mon Sep 30 12:08:11 PDT 2013


----- Original Message -----
> Hi,
> 
>        We have an architecture where the indirect move instruction
> implicitly increments the pointer
> value after the move. We have Instruction format and pattern for this
> type of instructions.
> 
> How to encode the information that the pointer is incremented?

As you seem to be aware, LLVM has patterns specifically to match pre/post increment loads and stores (post_store). In your *ISelLowering.cpp file, you'll need to call setIndexedLoadAction(ISD::POST_INC, <type>, Legal), and the same for setIndexedStoreAction. Then you'll need to implement a getPostIndexedAddressParts function in that same file (you can look in the ARM backend for an example). If you can select your indirect moves using TableGen patterns, then you can probably use the post_store pattern.

 -Hal

> 
> Thanks and regards,
> Shashidhar
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list