Fix VTKM_VECTORIZATION_IN_LOOP placement

It is only applicable on the statement on following line.
This commit is contained in:
Sujin Philip 2016-01-18 17:55:43 -05:00
parent 61ed34e154
commit 6efc1920df
2 changed files with 3 additions and 11 deletions

@ -229,8 +229,8 @@ public:
VTKM_VECTORIZATION_PRE_LOOP VTKM_VECTORIZATION_PRE_LOOP
for(vtkm::Id i=(numberOfValues-1); i >= 1; --i) for(vtkm::Id i=(numberOfValues-1); i >= 1; --i)
{ {
VTKM_VECTORIZATION_IN_LOOP
//nothing for gcc as input & output could be the same //nothing for gcc as input & output could be the same
VTKM_VECTORIZATION_IN_LOOP
outputPortal.Set(i, inputPortal.Get(i-1)); outputPortal.Set(i, inputPortal.Get(i-1));
} }
outputPortal.Set(0, initialValue); outputPortal.Set(0, initialValue);
@ -317,19 +317,15 @@ public:
DeviceAdapterAlgorithm<Device>::ScheduleKernel<Functor> kernel(functor); DeviceAdapterAlgorithm<Device>::ScheduleKernel<Functor> kernel(functor);
vtkm::Id3 index;
for(vtkm::Id k=0; k < rangeMax[2]; ++k) for(vtkm::Id k=0; k < rangeMax[2]; ++k)
{ {
index[2] = k;
for(vtkm::Id j=0; j < rangeMax[1]; ++j) for(vtkm::Id j=0; j < rangeMax[1]; ++j)
{ {
index[1] = j;
VTKM_VECTORIZATION_PRE_LOOP VTKM_VECTORIZATION_PRE_LOOP
for(vtkm::Id i=0; i < rangeMax[0]; ++i) for(vtkm::Id i=0; i < rangeMax[0]; ++i)
{ {
VTKM_VECTORIZATION_IN_LOOP VTKM_VECTORIZATION_IN_LOOP
index[0] = i; kernel(vtkm::Id3(i, j, k));
kernel( index );
} }
} }
} }

@ -383,21 +383,17 @@ public:
void operator()(const ::tbb::blocked_range3d<vtkm::Id> &range) const { void operator()(const ::tbb::blocked_range3d<vtkm::Id> &range) const {
try try
{ {
vtkm::Id3 index;
for( vtkm::Id k=range.pages().begin(); k!=range.pages().end(); ++k) for( vtkm::Id k=range.pages().begin(); k!=range.pages().end(); ++k)
{ {
index[2] = k;
for( vtkm::Id j=range.rows().begin(); j!=range.rows().end(); ++j) for( vtkm::Id j=range.rows().begin(); j!=range.rows().end(); ++j)
{ {
index[1] = j;
const vtkm::Id start =range.cols().begin(); const vtkm::Id start =range.cols().begin();
const vtkm::Id end = range.cols().end(); const vtkm::Id end = range.cols().end();
VTKM_VECTORIZATION_PRE_LOOP VTKM_VECTORIZATION_PRE_LOOP
for( vtkm::Id i=start; i != end; ++i) for( vtkm::Id i=start; i != end; ++i)
{ {
VTKM_VECTORIZATION_IN_LOOP VTKM_VECTORIZATION_IN_LOOP
index[0] = i; this->Functor(vtkm::Id3(i, j, k));
this->Functor( index );
} }
} }
} }