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