Displaying 9 results from an estimated 9 matches for "haszerocostloop".
2012 Nov 21
2
[LLVMdev] Disable loop unroll pass
...parameters.
>>
>> Given that zero cost loops building is based more or less on the same
>> constraints that loop unroll pass, I wonder if it is reasonable to
>> add
>> yet another target hook to prevent loop unrolling (something like
>> hasZeroOverheadLooping or hasZeroCostLooping) for targets that
>> support
>> zero-cost looping.
>
> Ivan,
>
> Please feel free to extend the ScalarTargetTransformInfo interface (in include/llvm/TargetTransformInfo.h) to provide target-customizable parameters to the loop unroller. This is on my TODO list, but if you&...
2012 Nov 22
0
[LLVMdev] Disable loop unroll pass
Hi, Ivan:
My $0.02. hasZeroCostLooping() disabling unrolling dose not seem to be
appropriate for other architectures, at least the one I worked before.
You mentioned:
>Currently, we cannot detect them because the loop unroller is
>unrolling them before entering into the codegen. Looking at its
implementation,
>it....
2012 Nov 22
3
[LLVMdev] Disable loop unroll pass
Hi Shuxin, Eli,
On 22/11/2012 03:19, Shuxin Yang wrote:
> Hi, Ivan:
>
> My $0.02. hasZeroCostLooping() disabling unrolling dose not seem
> to be
> appropriate for other architectures, at least the one I worked before.
I appreciate your feed-back. Could you give an example where building a
hw loop is not appropriate for your target?
>
> You mentioned:
> >Currently, we ca...
2012 Nov 23
1
[LLVMdev] Disable loop unroll pass
Hi, Ivan:
Sorry for deviating the topic a bit. As I told you before I'm a LLVM
newbie, I cannot
give you conclusive answer if the proposed interface is ok or not.
My personal opinion on these two interface is summarized bellow:
- hasZeroCostLoop()
pro: it is clearly state the HW support.
con: Having zero cost loop doesn't imply the benefit HW loop could
achieve.
It is not clear as to if HW-loop conflict with unrolling
etc. So optimizer
has no idea how to use this interface. If you just call
this inte...
2012 Nov 22
0
[LLVMdev] Disable loop unroll pass
...ieve.
More details, please take a look at
http://wiki.open64.net/index.php/Zero_Delay_Loop
Thanks
Gang
在 2012-11-22,19:00,Ivan Llopard <ivanllopard at gmail.com> 写道:
> Hi Shuxin, Eli,
>
> On 22/11/2012 03:19, Shuxin Yang wrote:
>> Hi, Ivan:
>>
>> My $0.02. hasZeroCostLooping() disabling unrolling dose not seem to be
>> appropriate for other architectures, at least the one I worked before.
>
> I appreciate your feed-back. Could you give an example where building a hw loop is not appropriate for your target?
>
>>
>> You mentioned:
>&...
2012 Nov 23
0
[LLVMdev] Disable loop unroll pass
...e
> of this new operator, which doesn't make things any simpler.
I think we are going off-topic. I'm not proposing new llvm instructions
to introduce hw loop semantics. What I'd like to do is to find a good
interface between the loop unroller and targets to prevent loop unrolling.
hasZeroCostLoop() and hasLoopZeroCostTopology(Loop *L, unsigend
TripCount) has been proposed so far.
Ivan
>
> Thanks
> Shuxin
>
> On 11/22/2012 02:56 PM, Gang Yu wrote:
>> Hi shuxin,
>>
>> Promote while-loop to do-loop is the job of loop induction
>> recognized, not this...
2012 Nov 21
4
[LLVMdev] Disable loop unroll pass
...s profitable to unroll it or not based on
certain parameters.
Given that zero cost loops building is based more or less on the same
constraints that loop unroll pass, I wonder if it is reasonable to add
yet another target hook to prevent loop unrolling (something like
hasZeroOverheadLooping or hasZeroCostLooping) for targets that support
zero-cost looping.
Does Hexagon provides the same loop support? How have you addressed this?
Ivan
2012 Nov 22
2
[LLVMdev] Disable loop unroll pass
Hi, Gang:
I don't want to discuss Open64 internal in LLVM mailing list. Let us
only focus on the design per se.
As your this mail and your previous mail combined give me a impression
that :
The only reason you introduce the specific operator for HW loop in
Scalar Opt simply because
you have hard time in figure out the trip count in CodeGen.
This might be true for Open64's
2012 Nov 21
0
[LLVMdev] Disable loop unroll pass
...t based on
> certain parameters.
>
> Given that zero cost loops building is based more or less on the same
> constraints that loop unroll pass, I wonder if it is reasonable to
> add
> yet another target hook to prevent loop unrolling (something like
> hasZeroOverheadLooping or hasZeroCostLooping) for targets that
> support
> zero-cost looping.
Ivan,
Please feel free to extend the ScalarTargetTransformInfo interface (in include/llvm/TargetTransformInfo.h) to provide target-customizable parameters to the loop unroller. This is on my TODO list, but if you'd like to work on this...