search for: pairableinstusers

Displaying 9 results from an estimated 9 matches for "pairableinstusers".

2011 Nov 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...platting). > + > + std::multimap<value_pair, value_pair> connPairs; > + computeConnPairs(candPairs, pairableInsts, connPairs); > + if (!connPairs.size()) return false; > + > + // Build the pairable-instruction dependency map > + DenseSet<value_pair> pairableInstUsers; > + buildDepMap(BB, candPairs, pairableInsts, pairableInstUsers); > + > + // There is now a graph of the connected pairs. For each variable, pick the > + // pairing with the largest tree meeting the depth requirement on at least > + // one branch. Then select all pairing...
2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...mp;ConnectedPairs); > + > + void buildDepMap(BasicBlock&BB, > + std::multimap<Value *, Value *> &CandidatePairs, > + std::vector<Value *> &PairableInsts, > + DenseSet<ValuePair> &PairableInstUsers); > + > + void choosePairs(std::multimap<Value *, Value *> &CandidatePairs, > + std::vector<Value *> &PairableInsts, > + std::multimap<ValuePair, ValuePair> &ConnectedPairs, > + D...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...> + > > + void buildDepMap(BasicBlock&BB, > > + std::multimap<Value *, Value *> &CandidatePairs, > > + std::vector<Value *> &PairableInsts, > > + DenseSet<ValuePair> &PairableInstUsers); > > + > > + void choosePairs(std::multimap<Value *, Value *> &CandidatePairs, > > + std::vector<Value *> &PairableInsts, > > + std::multimap<ValuePair, ValuePair> &ConnectedPairs, > > +...
2011 Nov 23
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 21:22 -0600, Hal Finkel wrote: > On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > > Tobias, > > > > I've attached an updated patch. It contains a few bug fixes and many > > (refactoring and coding-convention) changes inspired by your comments. > > > > I'm currently trying to fix the bug responsible for causing a compile
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...std::multimap<value_pair, value_pair> connPairs; > > + computeConnPairs(candPairs, pairableInsts, connPairs); > > + if (!connPairs.size()) return false; > > + > > + // Build the pairable-instruction dependency map > > + DenseSet<value_pair> pairableInstUsers; > > + buildDepMap(BB, candPairs, pairableInsts, pairableInstUsers); > > + > > + // There is now a graph of the connected pairs. For each variable, pick the > > + // pairing with the largest tree meeting the depth requirement on at least > > + // one branch...
2011 Nov 16
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, et al., Attached is the my autovectorization pass. I've fixed a bug that appears when using -bb-vectorize-aligned-only, fixed some 80-col violations, etc., and at least on x86_64, all test cases pass except for a few; and all of these failures look like instruction-selection bugs. For example: MultiSource/Applications/ClamAV - fails to compile shared_sha256.c with an error: error in
2011 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...> + > > + void buildDepMap(BasicBlock&BB, > > + std::multimap<Value *, Value *> &CandidatePairs, > > + std::vector<Value *> &PairableInsts, > > + DenseSet<ValuePair> &PairableInstUsers); > > + > > + void choosePairs(std::multimap<Value *, Value *> &CandidatePairs, > > + std::vector<Value *> &PairableInsts, > > + std::multimap<ValuePair, ValuePair> &ConnectedPairs, > > +...
2011 Nov 22
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
On Mon, 2011-11-21 at 11:55 -0600, Hal Finkel wrote: > Tobias, > > I've attached an updated patch. It contains a few bug fixes and many > (refactoring and coding-convention) changes inspired by your comments. > > I'm currently trying to fix the bug responsible for causing a compile > failure when compiling >
2011 Nov 15
3
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
Tobias, I've attached the latest version of my autovectorization patch. I was able to add support for using the ScalarEvolution analysis for load/store pairing (thanks for your help!). This led to a modest performance increase and a modest compile-time increase. This version also has a cutoff as you suggested (although the default value is set high (4000 instructions between pairs) because