Skip to content

Commit c95f40b

Browse files
authored
Merge pull request #2689 from devitocodes/byref-aesthetics
compiler: Avoid generating parentheses when not needed
2 parents d995805 + 809fc3d commit c95f40b

File tree

5 files changed

+15
-11
lines changed

5 files changed

+15
-11
lines changed

devito/ir/cgen/printer.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from devito import configuration
1717
from devito.arch.compiler import AOMPCompiler
1818
from devito.symbolics.inspection import has_integer_args, sympy_dtype
19+
from devito.symbolics.queries import q_leaf
1920
from devito.types.basic import AbstractFunction
2021
from devito.tools import ctypes_to_cstr, dtype_to_ctype, ctypes_vector_mapper
2122

@@ -364,7 +365,7 @@ def _print_InlineIf(self, expr):
364365
def _print_UnaryOp(self, expr, op=None, parenthesize=False):
365366
op = op or expr._op
366367
base = self._print(expr.base)
367-
if not expr.base.is_Symbol or parenthesize:
368+
if not q_leaf(expr.base) or parenthesize:
368369
base = f'({base})'
369370
return f'{op}{base}'
370371

devito/symbolics/queries.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,12 @@ def q_comp_acc(expr):
3737

3838

3939
def q_leaf(expr):
40-
return (expr.is_Atom or
41-
expr.is_Indexed or
42-
isinstance(expr, extra_leaves))
40+
try:
41+
return (expr.is_Atom or
42+
expr.is_Indexed or
43+
isinstance(expr, extra_leaves))
44+
except AttributeError:
45+
return False
4346

4447

4548
def q_indexed(expr):

examples/mpi/overview.ipynb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -490,14 +490,14 @@
490490
" float *restrict bufs_vec __attribute__ ((aligned (64)));\n",
491491
" posix_memalign((void**)(&bufs_vec),64,sizeof(float)*(long)y_size*(long)x_size);\n",
492492
"\n",
493-
" MPI_Irecv(bufs_vec,x_size*y_size,MPI_FLOAT,fromrank,13,comm,&(rrecv));\n",
493+
" MPI_Irecv(bufs_vec,x_size*y_size,MPI_FLOAT,fromrank,13,comm,&rrecv);\n",
494494
" if (torank != MPI_PROC_NULL)\n",
495495
" {\n",
496496
" gather0(bufg_vec,x_size,y_size,u_vec,ogtime,ogx,ogy);\n",
497497
" }\n",
498-
" MPI_Isend(bufg_vec,x_size*y_size,MPI_FLOAT,torank,13,comm,&(rsend));\n",
499-
" MPI_Wait(&(rsend),MPI_STATUS_IGNORE);\n",
500-
" MPI_Wait(&(rrecv),MPI_STATUS_IGNORE);\n",
498+
" MPI_Isend(bufg_vec,x_size*y_size,MPI_FLOAT,torank,13,comm,&rsend);\n",
499+
" MPI_Wait(&rsend,MPI_STATUS_IGNORE);\n",
500+
" MPI_Wait(&rrecv,MPI_STATUS_IGNORE);\n",
501501
" if (fromrank != MPI_PROC_NULL)\n",
502502
" {\n",
503503
" scatter0(bufs_vec,x_size,y_size,u_vec,ostime,osx,osy);\n",

examples/performance/00_overview.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,7 +1198,7 @@
11981198
" #pragma omp parallel num_threads(nthreads)\n",
11991199
" {\n",
12001200
" const int tid = omp_get_thread_num();\n",
1201-
" posix_memalign((void**)(&(pr2_vec[tid])),64,sizeof(float)*(long)z_size*(4 + (long)y0_blk0_size));\n",
1201+
" posix_memalign((void**)(&pr2_vec[tid]),64,sizeof(float)*(long)z_size*(4 + (long)y0_blk0_size));\n",
12021202
" }\n",
12031203
"\n",
12041204
" float (*restrict f)[f_vec->size[1]][f_vec->size[2]] __attribute__ ((aligned (64))) = (float (*)[f_vec->size[1]][f_vec->size[2]]) f_vec->data;\n",
@@ -1489,7 +1489,7 @@
14891489
" #pragma omp parallel num_threads(nthreads)\n",
14901490
" {\n",
14911491
" const int tid = omp_get_thread_num();\n",
1492-
" posix_memalign((void**)(&(pr2_vec[tid])),64,sizeof(float)*(long)z_size*(4 + (long)y_size));\n",
1492+
" posix_memalign((void**)(&pr2_vec[tid]),64,sizeof(float)*(long)z_size*(4 + (long)y_size));\n",
14931493
" }\n",
14941494
"\n",
14951495
" float (*restrict f)[f_vec->size[1]][f_vec->size[2]] __attribute__ ((aligned (64))) = (float (*)[f_vec->size[1]][f_vec->size[2]]) f_vec->data;\n",

tests/test_iet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def _C_free(self):
288288
static void foo()
289289
{
290290
cudaStream_t stream;
291-
cudaStreamCreate(&(stream));
291+
cudaStreamCreate(&stream);
292292
293293
foo(stream);
294294

0 commit comments

Comments
 (0)