impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Ho (Code Review)" <ger...@cloudera.org>
Subject [Impala-ASF-CR] IMPALA-6177: Cleanup incomplete handcrafted IRs before finalizing module
Date Fri, 15 Dec 2017 01:11:54 GMT
Michael Ho has posted comments on this change. ( http://gerrit.cloudera.org:8080/8541 )

Change subject: IMPALA-6177: Cleanup incomplete handcrafted IRs before finalizing module
......................................................................


Patch Set 10:

(8 comments)

Looking good. Just some more minor comments. Please add a test case and I can +2 it afterwards.

http://gerrit.cloudera.org:8080/#/c/8541/10//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/8541/10//COMMIT_MSG@12
PS10, Line 12: (method body is truncated)
deleted from module ?


http://gerrit.cloudera.org:8080/#/c/8541/8/be/src/codegen/llvm-codegen-test.cc
File be/src/codegen/llvm-codegen-test.cc:

http://gerrit.cloudera.org:8080/#/c/8541/8/be/src/codegen/llvm-codegen-test.cc@167
PS8, Line 167: }
> We could use the magic IMPALA_ASSERT_DEBUG_DEATH() macro if we want to test
Yes, that's a legitimate use case. Can you please add a test case in which we don't call FinalizeFunction()
but don't reference it either. This is to exercise the path which deletes functions which
aren't finalized.


http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.h
File be/src/codegen/llvm-codegen.h:

http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.h@374
PS10, Line 374: removed
deleted from the module


http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.h@374
PS10, Line 374: their function body
the functions


http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.cc
File be/src/codegen/llvm-codegen.cc:

http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.cc@658
PS10, Line 658: DCHECK(
nit: DCHECK_EQ()


http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.cc@771
PS10, Line 771: codegen_->handcrafted_functions_.push_back(fn);
Mind adding a comment on why we only add function to "handcrafted_functions_" only when builder
!= NULL ? It's probably related to the fact that we don't insert the basic block "entry" if
we builder == nullptr ?


http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.cc@1059
PS10, Line 1059: deleting the function's body.
Is this still true ?


http://gerrit.cloudera.org:8080/#/c/8541/10/be/src/codegen/llvm-codegen.cc@1062
PS10, Line 1062:       fn->eraseFromParent();
I assume this should not happen very often so is it worth logging to aid debugging ?

It's a bit unfortunate that we cannot add DCHECK(fn->user_empty()) here as the module hasn't
been materialized yet. Please consider adding a comment stating that any reference to this
function will lead to crash in LLVM (and thus Impala).



-- 
To view, visit http://gerrit.cloudera.org:8080/8541
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: If975cfb3906482b36dd6ede32ca81de6fcee1d7f
Gerrit-Change-Number: 8541
Gerrit-PatchSet: 10
Gerrit-Owner: Bikramjeet Vig <bikramjeet.vig@cloudera.com>
Gerrit-Reviewer: Bikramjeet Vig <bikramjeet.vig@cloudera.com>
Gerrit-Reviewer: Michael Ho <kwho@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstrong@cloudera.com>
Gerrit-Comment-Date: Fri, 15 Dec 2017 01:11:54 +0000
Gerrit-HasComments: Yes

Mime
  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message