search for: basictti

Displaying 20 results from an estimated 36 matches for "basictti".

2013 Mar 22
2
[LLVMdev] proposed change to class BasicTTI
For being able to change subtargets within a compilation unit, among other things, I need to be able to change the target lowering class that is used by BasicTTI For example we have a mips16 and non mips16 version. On the original call that creates this class, I'd like to pass the address of the address of the TargetLoweringBase class. That way I can insert a function pass before this pass which examines the function attributes and changes the poin...
2013 Mar 22
0
[LLVMdev] proposed change to class BasicTTI
...cleaner. The reset virtual function would be added to base class TargetLoweringBase. On 03/22/2013 09:22 AM, reed kotler wrote: > For being able to change subtargets within a compilation unit, among > other things, I need to be able to change the target lowering class that > is used by BasicTTI > > For example we have a mips16 and non mips16 version. > > On the original call that creates this class, I'd like to pass the > address of the address of the TargetLoweringBase class. > > That way I can insert a function pass before this pass which examines > the funct...
2013 Mar 22
4
[LLVMdev] proposed change to class BasicTTI
...ual function would be added to base class TargetLoweringBase. > > > On 03/22/2013 09:22 AM, reed kotler wrote: >> For being able to change subtargets within a compilation unit, among >> other things, I need to be able to change the target lowering class that >> is used by BasicTTI >> >> For example we have a mips16 and non mips16 version. >> >> On the original call that creates this class, I'd like to pass the >> address of the address of the TargetLoweringBase class. >> >> That way I can insert a function pass before this pass w...
2013 Mar 22
0
[LLVMdev] proposed change to class BasicTTI
...d to base class TargetLoweringBase. >> >> >> On 03/22/2013 09:22 AM, reed kotler wrote: >>> For being able to change subtargets within a compilation unit, among >>> other things, I need to be able to change the target lowering class that >>> is used by BasicTTI >>> >>> For example we have a mips16 and non mips16 version. >>> >>> On the original call that creates this class, I'd like to pass the >>> address of the address of the TargetLoweringBase class. >>> >>> That way I can insert a f...
2013 Jan 10
2
[LLVMdev] ARM vectorizer cost model
...at ways of debugging the cost model! The LoopVectorizerCostModel only predicts which IR will be generated when > vectorizing to a specific vector width. It uses TTI to get the cost of each > IR instruction. Chandler recently refactored TTI (thank!) and now TTI is an > analysis group. The BasicTTI attempts to handle all of the target > independent logic. It uses the TargetLowering interface to check if the > types are legal and how many times large vectors need to be split. > Different targets need to implement the cases that the BasicTTI does not > catch. For example, the cost o...
2015 Jan 17
3
[LLVMdev] loop multiversioning
...seems it does not with clang++ -O3 -mllvm -debug-pass=Arguments program.c -c bash-4.1$ clang++ -O3 -mllvm -debug-pass=Arguments fast_algorithms.c -c clang-3.6: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify -add-discriminators -simplifycfg -domtree -sroa -early-cse -lower-expect Pass Arguments: -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify-di...
2013 Jan 09
0
[LLVMdev] ARM vectorizer cost model
...ork, with assistance from the target transform info. The LoopVectorizerCostModel only predicts which IR will be generated when vectorizing to a specific vector width. It uses TTI to get the cost of each IR instruction. Chandler recently refactored TTI (thank!) and now TTI is an analysis group. The BasicTTI attempts to handle all of the target independent logic. It uses the TargetLowering interface to check if the types are legal and how many times large vectors need to be split. Different targets need to implement the cases that the BasicTTI does not catch. For example, the cost of zext <8xi8>...
2013 Mar 28
3
[LLVMdev] proposed change to class BasicTTI and dual mode mips16/32 working
...LoweringBase. >>> >>> >>> On 03/22/2013 09:22 AM, reed kotler wrote: >>>> For being able to change subtargets within a compilation unit, among >>>> other things, I need to be able to change the target lowering class that >>>> is used by BasicTTI >>>> >>>> For example we have a mips16 and non mips16 version. >>>> >>>> On the original call that creates this class, I'd like to pass the >>>> address of the address of the TargetLoweringBase class. >>>> >>>>...
2013 Jan 09
2
[LLVMdev] ARM vectorizer cost model
Hi Nadav, I'm interested in knowing how you'll work up the ARM cost model and how easy it'd be to split the work. As far as I can see, LoopVectorizationCostModel is the class that does all the work, with assistance from the target transform info. Do you think that updating ARMTTI would be the best course of action now, and inspect the differences in the CostModel later? I also
2013 Mar 28
0
[LLVMdev] proposed change to class BasicTTI and dual mode mips16/32 working
Hi Reed, On Mar 28, 2013, at 12:18 PM, Reed Kotler <rkotler at mips.com> wrote: > As for the BasicTransformInfoPassass, for this dual mode I'm using createNoTargetTransformInfoPass right now. So, MIPS does not need LSR, LowerSwitch and other optimizations that depend on TTI ? > I will solve this issue of the BasicTransformInfoPass being immutable after this initial checking
2013 Jan 10
0
[LLVMdev] ARM vectorizer cost model
.... That can be a simple and easily parallelized task. I got the A9 manual that has the cost of all instructions (including NEON and VFP), that should give us a head start. Renato, Thanks for working on this! Some of the costs for the arithmetic operations should be handled automatically by the BasicTTI (which asks TartetLowering if the type and operations are legal). We need to have cost tables for things like "trunk <4 x i64> to <4 x i8>" because even TLI does not know how custom operations gets lowered. > > I'm guessing the cost you already have for Intel and...
2013 Jan 11
2
[LLVMdev] ARM vectorizer cost model
On 10 January 2013 23:00, Nadav Rotem <nrotem at apple.com> wrote: > Some of the costs for the arithmetic operations should be handled > automatically by the BasicTTI (which asks TartetLowering if the type and > operations are legal). We need to have cost tables for things like "trunk > <4 x i64> to <4 x i8>" because even TLI does not know how custom operations > gets lowered. > BasicTTI::getCastInstrCost() assumes that they...
2013 Mar 28
1
[LLVMdev] proposed change to class BasicTTI and dual mode mips16/32 working
On 03/28/2013 12:22 PM, Nadav Rotem wrote: > Hi Reed, > > On Mar 28, 2013, at 12:18 PM, Reed Kotler <rkotler at mips.com > <mailto:rkotler at mips.com>> wrote: > >> As for the BasicTransformInfoPassass, for this dual mode I'm using >> createNoTargetTransformInfoPass right now. > > So, MIPS does not need LSR, LowerSwitch and other optimizations
2014 Jul 18
2
[LLVMdev] TLI vs. TTI
Hi, I noticed many functions in the TargetTransformInfo interface are duplicates of those already in TargetLowering (e.g. isTruncateFree). Is the expectation really that targets will reimplement the same functions twice? AArch64’s TTI uses some TLI calls in some of its implementations, but why doesn’t the base TargetTransformInfo call the TargetLowering versions by default? - Matt
2015 Jan 05
2
[LLVMdev] LTO v. opt
...duce a variant of the bug and learned about -plugin-opt=-debug-pass=Arguments which I infer from comments is intended to built arguments to “opt” however I found that some of the arguments don’t seem to be quite correct. I assume this just minor bit rot. bin/opt -o pass1.bc -datalayout -notti -basictti -x86tti -targetlibinfo -no-aa -tbaa -scoped-noalias -assumption-tracker -basicaa -verify -verify-di -ipsccp -globalopt -c\ onstmerge -deadargelim -instcombine -basiccg -inline-cost -inline -prune-eh -globalopt -globaldce -basiccg -argpromotion -instcombine -lazy-value-info -jump-threading -domt\ re...
2013 Jan 11
0
[LLVMdev] ARM vectorizer cost model
On Jan 11, 2013, at 7:36 AM, Renato Golin Linaro <renato.golin at linaro.org> wrote: > On 10 January 2013 23:00, Nadav Rotem <nrotem at apple.com> wrote: > Some of the costs for the arithmetic operations should be handled automatically by the BasicTTI (which asks TartetLowering if the type and operations are legal). We need to have cost tables for things like "trunk <4 x i64> to <4 x i8>" because even TLI does not know how custom operations gets lowered. > > BasicTTI::getCastInstrCost() assumes that they're free...
2015 May 11
2
[LLVMdev] about MemoryDependenceAnalysis usage
...my pass like this: "opt -o /dev/null -S test.ll -load libPlaydep.so > -O3 -playdep --debug-pass=Structure" > And the output: > > opt -o /dev/null test.ll -S -load ./libPlaydep.so -O3 -playdep > --debug-pass=Structure > Pass Arguments: -targetlibinfo -datalayout -notti -basictti -x86tti -no-aa > -tbaa -scoped-noalias -assumption-cache-tracker -basicaa -verify-di -ipsccp > -globalopt -deadargelim -domtree -instcombine -simplifycfg -basiccg > -prune-eh -inline-cost -inline -functionattrs -argpromotion -sroa -domtree > -early-cse -lazy-value-info -jump-threading -...
2013 Apr 01
0
[LLVMdev] proposed change to class BasicTTI and dual mode mips16/32 working
On 04/01/2013 12:31 PM, Chandler Carruth wrote: > On Thu, Mar 28, 2013 at 12:22 PM, Nadav Rotem <nrotem at apple.com > <mailto:nrotem at apple.com>> wrote: > > IMHO the right way to handle target function attributes is to > re-initialize the target machine and TTI for every function (if > the attributes changed). Do you have another solution in mind ?
2013 Apr 01
3
[LLVMdev] proposed change to class BasicTTI and dual mode mips16/32 working
On Thu, Mar 28, 2013 at 12:22 PM, Nadav Rotem <nrotem at apple.com> wrote: > IMHO the right way to handle target function attributes is to > re-initialize the target machine and TTI for every function (if the > attributes changed). Do you have another solution in mind ? I don't really understand this. TargetMachine and TTI may be quite expensive to initialize. Doing so for
2014 Oct 15
2
[LLVMdev] how to choose which alias analysis used in my pass?
----- Original Message ----- > From: "Jingyue Wu" <jingyue at google.com> > To: "songlh" <songlh at cs.wisc.edu>, llvmdev at cs.uiuc.edu > Sent: Wednesday, October 15, 2014 2:50:12 PM > Subject: Re: [LLVMdev] how to choose which alias analysis used in my pass? > > > Isn't -basicaa the default alias analysis already? No, -basicaa is added