[Libreoffice-commits] core.git: Branch 'feature/perfwork' - 4 commits - sc/source
Kohei Yoshida
kohei.yoshida at collabora.com
Mon Oct 6 12:49:35 PDT 2014
sc/source/core/opencl/op_statistical.cxx | 6 +-
sc/source/core/opencl/opbase.cxx | 73 ++++++++++++++++++++++++++++++-
sc/source/core/opencl/opbase.hxx | 68 ++++++++++++----------------
3 files changed, 103 insertions(+), 44 deletions(-)
New commits:
commit 8c40b70fc944526a5dcbdf40f9509ce25abe88da
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Fri Oct 3 16:43:25 2014 -0400
Inlining make no sense for virtual functions.
Change-Id: I6392eaceb0544b7faa9a0c726acf6619d971dbb7
diff --git a/sc/source/core/opencl/opbase.cxx b/sc/source/core/opencl/opbase.cxx
index f19e36e..14ae124 100644
--- a/sc/source/core/opencl/opbase.cxx
+++ b/sc/source/core/opencl/opbase.cxx
@@ -88,17 +88,62 @@ DynamicKernelArgument::DynamicKernelArgument( const std::string& s,
FormulaTreeNodeRef ft ) :
mSymName(s), mFormulaTree(ft) { }
+std::string DynamicKernelArgument::GenDoubleSlidingWindowDeclRef( bool ) const
+{
+ return std::string("");
+}
+
+/// When Mix, it will be called
+std::string DynamicKernelArgument::GenStringSlidingWindowDeclRef( bool ) const
+{
+ return std::string("");
+}
+
+bool DynamicKernelArgument::IsMixedArgument() const
+{
+ return false;
+}
+
/// Generate use/references to the argument
void DynamicKernelArgument::GenDeclRef( std::stringstream& ss ) const
{
ss << mSymName;
}
+void DynamicKernelArgument::GenNumDeclRef( std::stringstream& ss ) const
+{
+ ss << ",";
+}
+
+void DynamicKernelArgument::GenStringDeclRef( std::stringstream& ss ) const
+{
+ ss << ",";
+}
+
+void DynamicKernelArgument::GenSlidingWindowFunction( std::stringstream& ) {}
+
FormulaToken* DynamicKernelArgument::GetFormulaToken() const
{
return mFormulaTree->GetFormulaToken();
}
+std::string DynamicKernelArgument::DumpOpName() const
+{
+ return std::string("");
+}
+
+void DynamicKernelArgument::DumpInlineFun( std::set<std::string>&, std::set<std::string>& ) const {}
+
+const std::string& DynamicKernelArgument::GetName() const
+{
+ return mSymName;
+}
+
+bool DynamicKernelArgument::NeedParallelReduction() const
+{
+ return false;
+}
+
VectorRef::VectorRef( const std::string& s, FormulaTreeNodeRef ft, int idx ) :
DynamicKernelArgument(s, ft), mpClmem(NULL), mnIndex(idx)
{
@@ -144,6 +189,8 @@ std::string VectorRef::GenSlidingWindowDeclRef( bool nested ) const
return ss.str();
}
+void VectorRef::GenSlidingWindowFunction( std::stringstream& ) {}
+
size_t VectorRef::GetWindowSize() const
{
FormulaToken* pCur = mFormulaTree->GetFormulaToken();
@@ -164,6 +211,28 @@ size_t VectorRef::GetWindowSize() const
}
}
+std::string VectorRef::DumpOpName() const
+{
+ return std::string("");
+}
+
+void VectorRef::DumpInlineFun( std::set<std::string>&, std::set<std::string>& ) const {}
+
+const std::string& VectorRef::GetName() const
+{
+ return mSymName;
+}
+
+cl_mem VectorRef::GetCLBuffer() const
+{
+ return mpClmem;
+}
+
+bool VectorRef::NeedParallelReduction() const
+{
+ return false;
+}
+
void Normal::GenSlidingWindowFunction(
std::stringstream& ss, const std::string& sSymName, SubArguments& vSubArguments )
{
diff --git a/sc/source/core/opencl/opbase.hxx b/sc/source/core/opencl/opbase.hxx
index 15dedc5..d806140 100644
--- a/sc/source/core/opencl/opbase.hxx
+++ b/sc/source/core/opencl/opbase.hxx
@@ -87,6 +87,7 @@ class DynamicKernelArgument : boost::noncopyable
{
public:
DynamicKernelArgument( const std::string& s, FormulaTreeNodeRef ft );
+ virtual ~DynamicKernelArgument() {}
/// Generate declaration
virtual void GenDecl( std::stringstream& ss ) const = 0;
@@ -97,36 +98,31 @@ public:
/// When referenced in a sliding window function
virtual std::string GenSlidingWindowDeclRef( bool = false ) const = 0;
+ /// Create buffer and pass the buffer to a given kernel
+ virtual size_t Marshal( cl_kernel, int, int, cl_program ) = 0;
+
+ virtual size_t GetWindowSize() const = 0;
+
/// When Mix, it will be called
- virtual std::string GenDoubleSlidingWindowDeclRef( bool = false ) const
- { return std::string(""); }
+ virtual std::string GenDoubleSlidingWindowDeclRef( bool = false ) const;
/// When Mix, it will be called
- virtual std::string GenStringSlidingWindowDeclRef( bool = false ) const
- { return std::string(""); }
+ virtual std::string GenStringSlidingWindowDeclRef( bool = false ) const;
- virtual bool IsMixedArgument() const
- { return false; }
+ virtual bool IsMixedArgument() const;
/// Generate use/references to the argument
virtual void GenDeclRef( std::stringstream& ss ) const;
- virtual void GenNumDeclRef( std::stringstream& ss ) const { ss << ",";}
+ virtual void GenNumDeclRef( std::stringstream& ss ) const;
- virtual void GenStringDeclRef( std::stringstream& ss ) const { ss << ",";}
+ virtual void GenStringDeclRef( std::stringstream& ss ) const;
- /// Create buffer and pass the buffer to a given kernel
- virtual size_t Marshal( cl_kernel, int, int, cl_program ) = 0;
-
- virtual ~DynamicKernelArgument() { }
-
- virtual void GenSlidingWindowFunction( std::stringstream& ) { }
+ virtual void GenSlidingWindowFunction( std::stringstream& );
formula::FormulaToken* GetFormulaToken() const;
- virtual size_t GetWindowSize() const = 0;
- virtual std::string DumpOpName() const { return std::string(""); }
- virtual void DumpInlineFun( std::set<std::string>&,
- std::set<std::string>& ) const { }
- const std::string& GetName() const { return mSymName; }
- virtual bool NeedParallelReduction() const { return false; }
+ virtual std::string DumpOpName() const;
+ virtual void DumpInlineFun( std::set<std::string>&, std::set<std::string>& ) const;
+ const std::string& GetName() const;
+ virtual bool NeedParallelReduction() const;
protected:
std::string mSymName;
@@ -142,6 +138,7 @@ class VectorRef : public DynamicKernelArgument
{
public:
VectorRef( const std::string& s, FormulaTreeNodeRef ft, int index = 0 );
+ virtual ~VectorRef();
/// Generate declaration
virtual void GenDecl( std::stringstream& ss ) const SAL_OVERRIDE;
@@ -154,16 +151,13 @@ public:
/// Create buffer and pass the buffer to a given kernel
virtual size_t Marshal( cl_kernel, int, int, cl_program ) SAL_OVERRIDE;
- virtual ~VectorRef();
-
- virtual void GenSlidingWindowFunction( std::stringstream& ) SAL_OVERRIDE { }
+ virtual void GenSlidingWindowFunction( std::stringstream& ) SAL_OVERRIDE;
virtual size_t GetWindowSize() const SAL_OVERRIDE;
- virtual std::string DumpOpName() const SAL_OVERRIDE { return std::string(""); }
- virtual void DumpInlineFun( std::set<std::string>&,
- std::set<std::string>& ) const SAL_OVERRIDE { }
- const std::string& GetName() const { return mSymName; }
- virtual cl_mem GetCLBuffer() const { return mpClmem; }
- virtual bool NeedParallelReduction() const SAL_OVERRIDE { return false; }
+ virtual std::string DumpOpName() const SAL_OVERRIDE;
+ virtual void DumpInlineFun( std::set<std::string>&, std::set<std::string>& ) const SAL_OVERRIDE;
+ const std::string& GetName() const;
+ virtual cl_mem GetCLBuffer() const;
+ virtual bool NeedParallelReduction() const SAL_OVERRIDE;
protected:
// Used by marshaling
@@ -200,7 +194,7 @@ public:
typedef std::vector<SubArgument> SubArguments;
virtual void GenSlidingWindowFunction( std::stringstream&,
const std::string&, SubArguments& ) = 0;
- virtual ~SlidingFunctionBase() { };
+ virtual ~SlidingFunctionBase() { }
};
class Normal : public SlidingFunctionBase
commit d2827e9246133077731e74e971714b4b995728e2
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Fri Oct 3 16:28:54 2014 -0400
GetSymName() not used.
Change-Id: Ia369bf99a5e381a6f1f9c3d8a2499aa1780f04b8
diff --git a/sc/source/core/opencl/opbase.hxx b/sc/source/core/opencl/opbase.hxx
index ea89378..15dedc5 100644
--- a/sc/source/core/opencl/opbase.hxx
+++ b/sc/source/core/opencl/opbase.hxx
@@ -120,7 +120,6 @@ public:
virtual ~DynamicKernelArgument() { }
virtual void GenSlidingWindowFunction( std::stringstream& ) { }
- const std::string& GetSymName() const { return mSymName; }
formula::FormulaToken* GetFormulaToken() const;
virtual size_t GetWindowSize() const = 0;
virtual std::string DumpOpName() const { return std::string(""); }
@@ -158,7 +157,6 @@ public:
virtual ~VectorRef();
virtual void GenSlidingWindowFunction( std::stringstream& ) SAL_OVERRIDE { }
- const std::string& GetSymName() const { return mSymName; }
virtual size_t GetWindowSize() const SAL_OVERRIDE;
virtual std::string DumpOpName() const SAL_OVERRIDE { return std::string(""); }
virtual void DumpInlineFun( std::set<std::string>&,
commit c363a8601d956b4ff1d3d733a8fb3282eed0aff9
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Fri Oct 3 16:26:05 2014 -0400
GetNameAsString() identical to GetName(). Remove this and use GetName().
Change-Id: I26dce2dd11792ee118e78d23d652a5feb0789830
diff --git a/sc/source/core/opencl/op_statistical.cxx b/sc/source/core/opencl/op_statistical.cxx
index d2ece0d..839b46c 100644
--- a/sc/source/core/opencl/op_statistical.cxx
+++ b/sc/source/core/opencl/op_statistical.cxx
@@ -5661,14 +5661,14 @@ void OpMedian::GenSlidingWindowFunction(
ss << " int nSize =endFlag- startFlag ;\n";
ss << " if (nSize & 1)\n";
ss << " {\n";
- ss << " tmp = "<<vSubArguments[0]->GetNameAsString();
+ ss << " tmp = "<<vSubArguments[0]->GetName();
ss << " [startFlag+nSize/2];\n";
ss << " }\n";
ss << " else\n";
ss << " {\n";
- ss << " tmp =("<<vSubArguments[0]->GetNameAsString();
+ ss << " tmp =("<<vSubArguments[0]->GetName();
ss << " [startFlag+nSize/2]+";
- ss << vSubArguments[0]->GetNameAsString();
+ ss << vSubArguments[0]->GetName();
ss << " [startFlag+nSize/2-1])/2;\n";
ss << " }\n";
ss <<" return tmp;\n";
diff --git a/sc/source/core/opencl/opbase.hxx b/sc/source/core/opencl/opbase.hxx
index 497af94..ea89378 100644
--- a/sc/source/core/opencl/opbase.hxx
+++ b/sc/source/core/opencl/opbase.hxx
@@ -88,7 +88,6 @@ class DynamicKernelArgument : boost::noncopyable
public:
DynamicKernelArgument( const std::string& s, FormulaTreeNodeRef ft );
- const std::string& GetNameAsString() const { return mSymName; }
/// Generate declaration
virtual void GenDecl( std::stringstream& ss ) const = 0;
@@ -145,7 +144,6 @@ class VectorRef : public DynamicKernelArgument
public:
VectorRef( const std::string& s, FormulaTreeNodeRef ft, int index = 0 );
- const std::string& GetNameAsString() const { return mSymName; }
/// Generate declaration
virtual void GenDecl( std::stringstream& ss ) const SAL_OVERRIDE;
/// When declared as input to a sliding window function
commit eb9e914d2ccd451e56badef2ce2a1755957e4adf
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date: Fri Oct 3 16:21:14 2014 -0400
( void ) -> ()
Change-Id: I0d3d1d9ab5f7bc270c89a2a98d45ebea3cc37e02
diff --git a/sc/source/core/opencl/opbase.cxx b/sc/source/core/opencl/opbase.cxx
index e1aef1f..f19e36e 100644
--- a/sc/source/core/opencl/opbase.cxx
+++ b/sc/source/core/opencl/opbase.cxx
@@ -94,7 +94,7 @@ void DynamicKernelArgument::GenDeclRef( std::stringstream& ss ) const
ss << mSymName;
}
-FormulaToken* DynamicKernelArgument::GetFormulaToken( void ) const
+FormulaToken* DynamicKernelArgument::GetFormulaToken() const
{
return mFormulaTree->GetFormulaToken();
}
@@ -144,7 +144,7 @@ std::string VectorRef::GenSlidingWindowDeclRef( bool nested ) const
return ss.str();
}
-size_t VectorRef::GetWindowSize( void ) const
+size_t VectorRef::GetWindowSize() const
{
FormulaToken* pCur = mFormulaTree->GetFormulaToken();
assert(pCur);
diff --git a/sc/source/core/opencl/opbase.hxx b/sc/source/core/opencl/opbase.hxx
index 125d24d..497af94 100644
--- a/sc/source/core/opencl/opbase.hxx
+++ b/sc/source/core/opencl/opbase.hxx
@@ -73,7 +73,7 @@ public:
Children.reserve(8);
}
std::vector<FormulaTreeNodeRef> Children;
- formula::FormulaToken* GetFormulaToken( void ) const
+ formula::FormulaToken* GetFormulaToken() const
{
return const_cast<formula::FormulaToken*>(mpCurrentFormula.get());
}
@@ -88,7 +88,7 @@ class DynamicKernelArgument : boost::noncopyable
public:
DynamicKernelArgument( const std::string& s, FormulaTreeNodeRef ft );
- const std::string& GetNameAsString( void ) const { return mSymName; }
+ const std::string& GetNameAsString() const { return mSymName; }
/// Generate declaration
virtual void GenDecl( std::stringstream& ss ) const = 0;
@@ -121,14 +121,14 @@ public:
virtual ~DynamicKernelArgument() { }
virtual void GenSlidingWindowFunction( std::stringstream& ) { }
- const std::string& GetSymName( void ) const { return mSymName; }
- formula::FormulaToken* GetFormulaToken( void ) const;
- virtual size_t GetWindowSize( void ) const = 0;
- virtual std::string DumpOpName( void ) const { return std::string(""); }
+ const std::string& GetSymName() const { return mSymName; }
+ formula::FormulaToken* GetFormulaToken() const;
+ virtual size_t GetWindowSize() const = 0;
+ virtual std::string DumpOpName() const { return std::string(""); }
virtual void DumpInlineFun( std::set<std::string>&,
std::set<std::string>& ) const { }
- const std::string& GetName( void ) const { return mSymName; }
- virtual bool NeedParallelReduction( void ) const { return false; }
+ const std::string& GetName() const { return mSymName; }
+ virtual bool NeedParallelReduction() const { return false; }
protected:
std::string mSymName;
@@ -145,7 +145,7 @@ class VectorRef : public DynamicKernelArgument
public:
VectorRef( const std::string& s, FormulaTreeNodeRef ft, int index = 0 );
- const std::string& GetNameAsString( void ) const { return mSymName; }
+ const std::string& GetNameAsString() const { return mSymName; }
/// Generate declaration
virtual void GenDecl( std::stringstream& ss ) const SAL_OVERRIDE;
/// When declared as input to a sliding window function
@@ -160,14 +160,14 @@ public:
virtual ~VectorRef();
virtual void GenSlidingWindowFunction( std::stringstream& ) SAL_OVERRIDE { }
- const std::string& GetSymName( void ) const { return mSymName; }
- virtual size_t GetWindowSize( void ) const SAL_OVERRIDE;
- virtual std::string DumpOpName( void ) const SAL_OVERRIDE { return std::string(""); }
+ const std::string& GetSymName() const { return mSymName; }
+ virtual size_t GetWindowSize() const SAL_OVERRIDE;
+ virtual std::string DumpOpName() const SAL_OVERRIDE { return std::string(""); }
virtual void DumpInlineFun( std::set<std::string>&,
std::set<std::string>& ) const SAL_OVERRIDE { }
- const std::string& GetName( void ) const { return mSymName; }
- virtual cl_mem GetCLBuffer( void ) const { return mpClmem; }
- virtual bool NeedParallelReduction( void ) const SAL_OVERRIDE { return false; }
+ const std::string& GetName() const { return mSymName; }
+ virtual cl_mem GetCLBuffer() const { return mpClmem; }
+ virtual bool NeedParallelReduction() const SAL_OVERRIDE { return false; }
protected:
// Used by marshaling
@@ -182,11 +182,11 @@ class OpBase
public:
typedef std::vector<std::string> ArgVector;
typedef std::vector<std::string>::iterator ArgVectorIter;
- virtual std::string GetBottom( void ) { return "";};
+ virtual std::string GetBottom() { return "";};
virtual std::string Gen2( const std::string&/*lhs*/,
const std::string&/*rhs*/ ) const { return "";}
virtual std::string Gen( ArgVector& /*argVector*/ ) { return "";};
- virtual std::string BinFuncName( void ) const { return "";};
+ virtual std::string BinFuncName() const { return "";};
virtual void BinInlineFun( std::set<std::string>&,
std::set<std::string>& ) { }
virtual bool takeString() const = 0;
More information about the Libreoffice-commits
mailing list