[Openmp-commits] [PATCH] D76843: [Openmp] Libomptarget plugin for NEC SX-Aurora
Jonas Hahnfeld via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Apr 10 01:35:48 PDT 2020
Hahnfeld added inline comments.
================
Comment at: openmp/libomptarget/plugins/ve/src/rtl.cpp:298
+ }
+ } else {
+ proc_handle = veo_proc_create_static(ID, tmp_name);
----------------
simoll wrote:
> Hahnfeld wrote:
> > simoll wrote:
> > > manorom wrote:
> > > > simoll wrote:
> > > > > else after return
> > > > I don't think so: If the process handle for a dynamic process is created successfully, we do not return but also do not want to visit the else branch.
> > > This is simply a matter of coding style. You can rewrite the `else` to
> > >
> > > ```
> > > if (!is_dyn) {
> > > }
> > > ```
> > >
> > > and it is clear under which condition it will be executed.
> > This would repeat the condition on `is_dyn` which is less desirable IMHO. I agree with @manorom here: The else is not on the branch with the `return`, which is handling a possible error (ie `!proc_handle`). The code is properly indented, so at least to me it's obvious what's happening here:
> >
> > ```lang=c
> > if (...) {
> > // veo_proc_create
> > if (error) {
> > // log
> > return NULL;
> > }
> > // success
> > } else {
> > // veo_proc_create_static
> > if (error) {
> > // log
> > return NULL;
> > }
> > }
> It's not a major concern in any case.
> However, you have this error handler pattern repeated a lot in your code (7 times in this function):
> ```
> if (error condition) {
> DP(<pretty print some error message>)
> return NULL
> }
> ```
> Here is an idea. You could wrap that in a macro to the reduce the amount of repetition and indentation in the code.
> ```
> if (is_dyn) {
> proc_handle = veo_..
> RETURN_NULL_IF(!proc_handle, "veo_proc_create() failed for device %d\n", ID)
> } else {
> proc_handle = veo_..
> RETURN_NULL_IF(!proc_handle, "...");
> }
>
> ```
My 2 cents: I don't think this improves readability. And to be honest, I'm not aware of any part in LLVM that does error handling like this.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76843/new/
https://reviews.llvm.org/D76843
More information about the Openmp-commits
mailing list