search for: x86targettransforminfo

Displaying 11 results from an estimated 11 matches for "x86targettransforminfo".

2015 May 04
2
[LLVMdev] AVX2 Cost Table in X86TargetTransformInfo
Hi all, I have a query regarding Cost Table for AVX2 in TargetTransformInfo. The table consist of entries for shift and div operations only. There are no entries for ADD, SUB and MUL for AVX2 cost table. Those entries are present in Cost Table for AVX. The reason for query is - when my sub target feature is AVX2, in SLP Vectorization, while calculating scalar cost of ADD, it doesn't see
2015 May 04
3
[LLVMdev] AVX2 Cost Table in X86TargetTransformInfo
Thanks Nadav for the info. It clears my query :) Yes its an integer ADD, and since AVX2 supports 256 bits integer arithmetic, so its cost is less than AVX1. One query though - shouldn't then the cost of integer ADD/SUB/MUL (which would be 1) be explicitly specified in AVX2 cost table? Because right now this entry is missing and cost of these operations are taken from BaseTTI (which is
2013 Feb 08
2
[LLVMdev] CostModelAnalysis for 3.0 release
...ler MySQL … > > OK. I didn't find much on the internet related to the clang compilation error. Just filed the bug report http://llvm.org/bugs/show_bug.cgi?id=15206 > > > Right now, I'm trying to hard code a particular target, and copy part of > the TargetTransformInfo and X86TargetTransformInfo > > to a simple LLVM 3.0 project to try out. So far I'm stuck in > instantiating X86TargetMachine and wondering whether it can be > > created from instances of TargetMachine or TargetData. > > > > Look at tools/opt/opt.cpp or tools/llc/llc.cpp. They both initialize t...
2013 Feb 07
2
[LLVMdev] CostModelAnalysis for 3.0 release
...instruction cost estimation available. Also the reason I can't directly move to 3.2 code base is that it fails to compile(produce bc files) big project like MySQL, where 3.0 has no problem. Right now, I'm trying to hard code a particular target, and copy part of the TargetTransformInfo and X86TargetTransformInfo to a simple LLVM 3.0 project to try out. So far I'm stuck in instantiating X86TargetMachine and wondering whether it can be created from instances of TargetMachine or TargetData. Thank you! Best Regards, Ryan On Thu, Feb 7, 2013 at 10:45 AM, Nadav Rotem <nrotem at apple.com> wrote: &gt...
2013 Feb 07
0
[LLVMdev] CostModelAnalysis for 3.0 release
...ompile(produce bc files) big > project like MySQL, where 3.0 has no problem. > Is this a known problem ? Can you please file a bugzilla ? LLVM should be able to compiler MySQL … > Right now, I'm trying to hard code a particular target, and copy part of the TargetTransformInfo and X86TargetTransformInfo > to a simple LLVM 3.0 project to try out. So far I'm stuck in instantiating X86TargetMachine and wondering whether it can be > created from instances of TargetMachine or TargetData. > Look at tools/opt/opt.cpp or tools/llc/llc.cpp. They both initialize the target machine using th...
2013 Feb 08
0
[LLVMdev] CostModelAnalysis for 3.0 release
...pilation error. Just filed the bug report > http://llvm.org/bugs/show_bug.cgi?id=15206 FYI, MacPorts has clang blacklisted for MySql prior to 5.5... > > > > > > Right now, I'm trying to hard code a particular target, and copy part of > > the TargetTransformInfo and X86TargetTransformInfo > > > to a simple LLVM 3.0 project to try out. So far I'm stuck in > > instantiating X86TargetMachine and wondering whether it can be > > > created from instances of TargetMachine or TargetData. > > > > > > > Look at tools/opt/opt.cpp or tools/llc/l...
2016 Sep 01
2
enabling interleaved access loop vectorization
So turns out it is a full reproducer after all (choosing to vectorize on AVX), good. > The details are in PR29025. Interesting. (So we should carefully insert unconditional branches inside shuffle sequences, eh? ;-) > But if we modify the program by adding "*out++ = 0" right after "*out++ = q;" (thus eliminating the pesky <12 x i8>), we get: Indeed such
2013 Feb 07
0
[LLVMdev] CostModelAnalysis for 3.0 release
Hi Ryan, I think that it would be difficult to back port the CostModel back to LLVM3.0 because it uses the new TargetTransformInfo analysis. I also wanted to mention that only _lowering_ passes (target-specific optimization passes) may use TTI and the cost model. Higher-level canonicalization passes should not use it. Thanks, Nadav On Feb 6, 2013, at 1:26 AM, ryan <stdstack at
2013 Feb 06
2
[LLVMdev] CostModelAnalysis for 3.0 release
Hi All, I wanted to do some basic cost estimation of Instruction/BB. There're CostModelAnalysis and CodeMetrics available in 3.1 and 3.2 releases. I've been using 3.0 for a while. I'm wondering whether similar analysis can be done in the old 3.0 release, e.g. back porting the implementation. Thank you! Best, Ryan -------------- next part -------------- An HTML attachment was
2015 Feb 03
2
[LLVMdev] RFC: Constant Hoisting
...allocated but unutilized registers. Doesn't work. In fact, I'd suggest the Arm backend adopt my approach. So firstly, I think the best way to solve this problem is to avoid this problem in the first place. Just don't hoist these values. For the X86 backend, X86TTI::getIntImmCost() in X86TargetTransformInfo.cpp is an overridden function. Just mark these 1 bit masks there as TCC_Free: // Don't hoist 1 bit masks. They'll probably be used for BT, BTS, BTC. if (Imm.isPowerOf2()) // this could be limited to bits 32-63 return TCC_Free; This works. Its only downside is when these val...
2015 Jul 29
1
[LLVMdev] Error when i am using command make -j4 command in cygwin to compile safecode
...lease+Asserts build llvm[3]: Compiling InstCombineCalls.cpp for Release+Asserts build llvm[3]: Compiling DwarfDebug.cpp for Release+Asserts build llvm[3]: Compiling X86TargetObjectFile.cpp for Release+Asserts build llvm[3]: Compiling InstCombineCasts.cpp for Release+Asserts build llvm[3]: Compiling X86TargetTransformInfo.cpp for Release+Asserts build llvm[3]: Compiling InstCombineCompares.cpp for Release+Asserts build llvm[3]: Compiling LoopUnrollPass.cpp for Release+Asserts build llvm[3]: Compiling X86VZeroUpper.cpp for Release+Asserts build llvm[3]: Compiling DwarfExpression.cpp for Release+Asserts build llvm[3]:...