)]}'
{
  "commit": "7f753feb8df400d6ed17cdbdfb364f7f3a42fb31",
  "tree": "6378abb935b0318979582f6cb0fb7ff7c55815d4",
  "parents": [
    "1e042a49d6f2e95d371301aa7b911522dc5877f4"
  ],
  "author": {
    "name": "Cherry Zhang",
    "email": "cherryyz@google.com",
    "time": "Wed Jun 26 18:09:37 2019 -0400"
  },
  "committer": {
    "name": "Ian Lance Taylor",
    "email": "iant@golang.org",
    "time": "Tue Jul 02 16:43:37 2019 +0000"
  },
  "message": "compiler: use builtin memset for non-pointer memclr\n\nFor zeroing a range of memory that doesn\u0027t contain pointer, we\ncan use builtin memset directly.\n\nCorresponding change in the GCC backend:\n\nIndex: gcc/go/go-gcc.cc\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n--- gcc/go/go-gcc.cc\t(revision 272617)\n+++ gcc/go/go-gcc.cc\t(working copy)\n@@ -613,6 +613,15 @@\n \t\t\t\t\t\tNULL_TREE),\n \t\t       false, false);\n\n+  // We use __builtin_memset for zeroing data.\n+  this-\u003edefine_builtin(BUILT_IN_MEMSET, \"__builtin_memset\", \"memset\",\n+\t\t       build_function_type_list(void_type_node,\n+\t\t\t\t\t\tptr_type_node,\n+\t\t\t\t\t\tinteger_type_node,\n+\t\t\t\t\t\tsize_type_node,\n+\t\t\t\t\t\tNULL_TREE),\n+\t\t       false, false);\n+\n   // Used by runtime/internal/sys and math/bits.\n   this-\u003edefine_builtin(BUILT_IN_CTZ, \"__builtin_ctz\", \"ctz\",\n \t\t       build_function_type_list(integer_type_node,\n\nChange-Id: Ide6ca5e285545f0d166ff25828fd7c0380767e0c\nReviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184438\nReviewed-by: Ian Lance Taylor \u003ciant@golang.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f33deeb4a1baaa0bd8e3d165c98a994214bf7ae",
      "old_mode": 33188,
      "old_path": "go/expressions.cc",
      "new_id": "d52155183c624f83efa8e4cff25abeba1b7fee14",
      "new_mode": 33188,
      "new_path": "go/expressions.cc"
    },
    {
      "type": "modify",
      "old_id": "ec7ec769048d0726c9f542a555b3e70bb209bd24",
      "old_mode": 33188,
      "old_path": "go/runtime.def",
      "new_id": "f510a65e7b73e008069a5f9e07e5b5cac4b67a31",
      "new_mode": 33188,
      "new_path": "go/runtime.def"
    },
    {
      "type": "modify",
      "old_id": "c0955888b549375e5005fa3e28464f578518c1bd",
      "old_mode": 33188,
      "old_path": "go/statements.cc",
      "new_id": "968c8a01b5787a1726b6779696047f0052896a07",
      "new_mode": 33188,
      "new_path": "go/statements.cc"
    }
  ]
}
