[LLVMdev] How to deal with wider Integer type?

Ruiling Song ruiling.song83 at gmail.com
Tue Sep 9 19:13:16 PDT 2014


Do you mean that SROA pass will not do some conversion like <4 x i32 > to
i128 if the input IR does not contain i128?
If not, then how the SROA Scalarize a <4 x i32> instruction? As from my
understanding, Scalarize is to change a vector/array type into a simple
integer type. Am I right?

2014-09-04 16:48 GMT+08:00 Chandler Carruth <chandlerc at google.com>:

>
> On Thu, Sep 4, 2014 at 1:41 AM, Ruiling Song <ruiling.song83 at gmail.com>
> wrote:
>
>> I find in pass ScalarReplAggregates it offers some configuration
>> parameters to control the maximum width of wide integer, which is quite
>> friendly.
>> In SROA, i don't found that kind configuration parameters.
>>
>
> The configuration parameters in the old ScalarReplAggregates pass is
> because it would create *insane* things like i4096s. =/ When I wrote SROA
> to replace it, this was actually the motivating principle -- it doesn't
> introduce new integer type sizes, it uses the sizes that are already being
> loaded and stored.
>
>
>> Can anybody familiar with 'Scalar' passes give some insights?
>>
>
> =] I'm quite familiar with the SROA ones. GVN I know less about. The code
> you cite from GVN certainly looks fishy to me.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140910/17b85118/attachment.html>


More information about the llvm-dev mailing list