[PATCH] Add Thumb2 load byte instructions in check for same address

Daniel Stewart stewartd at codeaurora.org
Wed Aug 14 08:00:45 PDT 2013


Renato,

                I am sure there are other cases where this type of logic may
apply, but I have only tested with byte loads. I agree that if a broader set
is needed, the checking should be changed to better accommodate it.

 

Daniel

 

From: Renato Golin [mailto:renato.golin at linaro.org] 
Sent: Tuesday, August 13, 2013 5:35 PM
To: Daniel Stewart
Cc: LLVM Commits
Subject: Re: [PATCH] Add Thumb2 load byte instructions in check for same
address

 

Hi Daniel,

 

Yes, looks good to me too.

 

I'm wondering if this is the only case where you can do that. If there are
other cases (other load types), than we might think of a better way of
checking for similarity, but for now, I think your condition is ok.

 

cheers,

--renato

 

On 13 August 2013 21:03, Daniel Stewart <stewartd at codeaurora.org> wrote:

Just wanted to bump this request again to see if I can get this patch
reviewed.

 

This patch tries to allow schedules of loads to be near each other even if
one is a t2LDRBi8 load and the other is a t2LDRBi12 load. Currently, loads
must be of the exact same type to be considered near each other. It is
advantageous in cases where they loads are not of the exact same type for
them to at least be tested for nearness. In the case of ARM thumb  code,
addresses which are +1 and -1 offset from a base address could be considered
near each other, but currently are not due to the use of differing opcodes
to encode the positive and negative offsets. 

 

Daniel Stewart

--

Qualcomm Innovation Center, Inc is a member of Code Aurora Forum, hosted by
The Linux Foundation

 

From: llvm-commits-bounces at cs.uiuc.edu
[mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Daniel Stewart
Sent: Friday, August 02, 2013 2:28 PM
To: llvm-commits at cs.uiuc.edu
Subject: [PATCH] Add Thumb2 load byte instructions in check for same address

 

When determining if two different loads are from the same base address, this
patch allows one load to use a t2LDRi8 address mode and another to use a
t2LDRi12 address mode. The current implementation is very conservative and
this allows the case of differing Thumb2 byte loads to be considered.
Allowing these differing modes instead of forcing the exact same opcode is
useful for situations where one opcodes loads from a base address+1 and a
second opcode loads for a base address-1.

 

Daniel Stewart

 


_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130814/aed9c0d6/attachment.html>


More information about the llvm-commits mailing list