message: [TFLite] Add rewrite pattern to fuse conv ops with Relu6 op
  * Fixed tfl.conv_2d and tfl.depthwise_conv_2d to have fused activation
  function attribute
  * Fixed RewriterGen crash: trying to get attribute match template when
  the matcher is unspecified (UnsetInit)
diff: @@ -218,7 +218,8 @@ void PatternEmitter::emitAttributeMatch(DagNode tree, int index, int depth,
  auto *namedAttr = op.getArg(index).get<NamedAttribute *>();
  auto matcher = tree.getArgAsLeaf(index);
  - if (!matcher.isUnspecified() && !matcher.isAttrMatcher()) {
  + if (!matcher.isUnspecified()) {
  + if (!matcher.isAttrMatcher()) {
  PrintFatalError(
  loc, formatv("the {1}-th argument of op '{0}' should be an attribute",
  op.getOperationName(), index + 1));
  @@ -226,11 +227,12 @@ void PatternEmitter::emitAttributeMatch(DagNode tree, int index, int depth,
  // If a constraint is specified, we need to generate C++ statements to
  // check the constraint.
  - std::string condition =
  - formatv(matcher.getConditionTemplate().c_str(),
  + std::string condition = formatv(
  + matcher.getConditionTemplate().c_str(),
  formatv("op{0}->getAttrOfType<{1}>(\"{2}\")", depth,
  namedAttr->attr.getStorageType(), namedAttr->getName()));
  os.indent(indent) << "if (!(" << condition << ")) return matchFailure();\n";
  + }
  // Capture the value
  auto name = tree.getArgName(index);
  