[LLVM CodeGen] Solve LLVM CodeGen br instruction accept not-i1 type issue#2381
Merged
tqchen merged 2 commits intoapache:masterfrom Jan 8, 2019
Merged
[LLVM CodeGen] Solve LLVM CodeGen br instruction accept not-i1 type issue#2381tqchen merged 2 commits intoapache:masterfrom
tqchen merged 2 commits intoapache:masterfrom
Conversation
Member
|
This is a bit strange, shall we make sure the condition of prelu is bool instead? |
Member
Author
|
Prelu is implemented in select statement, prelu helps us expose this issue. In theory, we can constrtuct other cases using select (condition type is N x i1) to expose this issue. |
Member
Author
|
Supplement of previous comment. LLVM select instruction can accept i1 or vector of i1 (N xi1) type, see: https://llvm.org/docs/LangRef.html#select-instruction But br can only accept i1 type, so this is why I say we can construct using select (N x i1) to expose this issue. |
tqchen
approved these changes
Jan 8, 2019
Member
|
Thanks, @FrozenGene for the explaination. I have a follow-up PR that is related #2389 The root cause of this error is when if_then_else get vectorized which causes incorrect semantics. |
FrozenGene
added a commit
to FrozenGene/tvm
that referenced
this pull request
Jan 10, 2019
Closed
wweic
pushed a commit
to neo-ai/tvm
that referenced
this pull request
Feb 20, 2019
wweic
pushed a commit
to neo-ai/tvm
that referenced
this pull request
Feb 20, 2019
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
see issue: #2364
LLVM
brinstruction can only accept i1 type of condition (https://llvm.org/docs/LangRef.html#br-instruction), if the condition type is not i1, we couldn't rewrite to tvm_if_then_else, which is converted to LLVMbrinstruction. This situation could happen in the situationconv2d + preluvia auto tvm tunning on ARM CPU.@tqchen please help to review it.
cc: @nttstar