search for: chosenpairs

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

2011 Dec 02
5
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...std::vector<Value *> &PairableInsts, > + std::multimap<ValuePair, ValuePair> &ConnectedPairs, > + DenseSet<ValuePair> &PairableInstUsers, > + DenseMap<Value *, Value *>& ChosenPairs); > + > + void fuseChosenPairs(BasicBlock&BB, > + std::vector<Value *> &PairableInsts, > + DenseMap<Value *, Value *>& ChosenPairs); > + > + bool isInstVectorizable(Instruction *I, bool&IsSimpleLoadStore);...
2011 Dec 14
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...ctor<Value *> &PairableInsts, > > + std::multimap<ValuePair, ValuePair> &ConnectedPairs, > > + DenseSet<ValuePair> &PairableInstUsers, > > + DenseMap<Value *, Value *>& ChosenPairs); > > + > > + void fuseChosenPairs(BasicBlock&BB, > > + std::vector<Value *> &PairableInsts, > > + DenseMap<Value *, Value *>& ChosenPairs); > > + > > + bool isInstVectorizable(Instruction *I...
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 Dec 02
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...block has N candidate pairs, then they could all be connected, but then there are only N of them. In this extreme, the algorithm is also O(N^2). Because both extremes are O(N^2), I've generally figured that this is also O(N^2), but I may want to do more math for the paper I'm writing. fuseChosenPairs - This is linear in the number of selected pairs, and that number scales with the number of instructions in the BB. In the worst case, after each fusion, a number of instructions need to be moved (up to almost the total number in the block). Thus, this is also O(N^2). > > Also, you choose a...
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 17
2
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...er case letter (e.g. Leader or Boats)." This happens at several places. Can you check your code for this. > + void replValues(BasicBlock&BB, > + std::vector<Value *> &pairableInsts, > + DenseMap<Value *, Value *>& chosenPairs); 'repl' is no obvious abbreviation for me. Can you use the full word or equivalent shorter one? > + > + virtual bool runOnBasicBlock(BasicBlock&BB) { > + // const TargetData *TD = getAnalysisIfAvailable<TargetData>(); > + > + bool changed = false; &g...
2011 Nov 21
0
[LLVMdev] [llvm-commits] [PATCH] BasicBlock Autovectorization Pass
...r Boats)." > > This happens at several places. Can you check your code for this. > > > + void replValues(BasicBlock&BB, > > + std::vector<Value *> &pairableInsts, > > + DenseMap<Value *, Value *>& chosenPairs); > 'repl' is no obvious abbreviation for me. Can you use the full word or > equivalent shorter one? > > > + > > + virtual bool runOnBasicBlock(BasicBlock&BB) { > > + // const TargetData *TD = getAnalysisIfAvailable<TargetData>(); > > + &...
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 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