ANSHUMAN87 commented on a change in pull request #6238:
URL: https://github.com/apache/incubator-tvm/pull/6238#discussion_r475821907



##########
File path: python/tvm/driver/build_module.py
##########
@@ -181,7 +181,7 @@ def lower(sch,
         tvm.tir.transform.BF16Legalize(),
         tvm.tir.transform.NarrowDataType(32),
         tvm.tir.transform.Simplify(),
-        tvm.tir.transform.HoistIfThenElse(),
+        tvm.tir.transform.HoistIfThenElse("basic"),

Review comment:
       Yes, we can combine both also and place the pass in End phase. 
   I understand the dilemma here. Even i also had the same :)
   The reasoning i came up later is as below.
   Current PR supports the feature for "Block scope vars" or "Attr nodes" which 
happens to be more applicable in specific cases(For example in Cuda Kernels). 
Also there is slight increase in time complexity(As linear).
   
   So to sum up, we have 2 cases : 
   Case 1: "Basic" or "Default": The scenarios covered here should be more 
general(simpler version) across.
   Case 2: "Advanced" : The scenarios covered here should be enabled in case of 
particular settings.
   
   Please let me know your thought on above.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to