)]}'
{
  "commit": "25436864124701ae5611bd7060a58d5d36ed3245",
  "tree": "d471cb402f494e6611cd88813d3d379ed8f01ec3",
  "parents": [
    "2f25ecf8ba69c0d26ef5abe42bbb02b5836a4da6"
  ],
  "author": {
    "name": "Antonio Maiorano",
    "email": "amaiorano@google.com",
    "time": "Tue Apr 13 13:32:33 2021 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Tue Apr 13 13:32:33 2021 +0000"
  },
  "message": "Resolver: compute canonical types and store them as semantic::Variable::Type\n\nWe define the canonical type as a type stripped of all aliases. For\nexample, Canonical(alias\u003calias\u003cvec3\u003calias\u003cf32\u003e\u003e\u003e\u003e) is vec3\u003cf32\u003e. This\nchange adds Resolver::Canonical(Type*) which caches and returns the\nresulting canonical type. We use this throughout the Resolver instead of\nUnwrapAliasIfNeeded(), and we store the result in semantic::Variable,\nreturned from it\u0027s Type() member function.\n\nAlso:\n\n* Wrote unit tests for Resolver::Canonical()\n\n* Added semantic::Variable::DeclaredType() as a convenience to\nretrieve the AST variable\u0027s type.\n\n* Updated post-resolve code (transforms) to make use of Type and\nDeclaredType appropriately, removing unnecessary calls to\nUnwrapAliasIfNeeded.\n\n* Added IntrinsicTableTest.MatchWithNestedAliasUnwrapping to ensure we\ndon\u0027t need to pass canonical parameter types for instrinsic table\nlookups.\n\n* ProgramBuilder: added vecN and matMxN overloads that take a Type* arg\nto create them with alias types.\n\nBug: tint:705\nChange-Id: I58a3b62538356b8dad2b1161a19b38bcefdd5d62\nReviewed-on: https://dawn-review.googlesource.com/c/tint/+/47360\nKokoro: Kokoro \u003cnoreply+kokoro@google.com\u003e\nReviewed-by: Ben Clayton \u003cbclayton@google.com\u003e\nCommit-Queue: Antonio Maiorano \u003camaiorano@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1cf1868ab1746ae707db2c972e6214c476c6c7ca",
      "old_mode": 33188,
      "old_path": "src/intrinsic_table_test.cc",
      "new_id": "350eec71eb0751113a89428356be6510dad4ccda",
      "new_mode": 33188,
      "new_path": "src/intrinsic_table_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5fddb560c3597ff8e83482764a310ef49a1f3186",
      "old_mode": 33188,
      "old_path": "src/program_builder.h",
      "new_id": "fb261cc905489db08cb6bc639a57013fe72e570a",
      "new_mode": 33188,
      "new_path": "src/program_builder.h"
    },
    {
      "type": "modify",
      "old_id": "06461e5a512c8af63b34cc7f588192d8ab8156b5",
      "old_mode": 33188,
      "old_path": "src/resolver/resolver.cc",
      "new_id": "a18b4813d6466b0f3f00934c94582dcb11e53ebf",
      "new_mode": 33188,
      "new_path": "src/resolver/resolver.cc"
    },
    {
      "type": "modify",
      "old_id": "e7f1f76038af15ae2bc200c7ddecfe9622c198a4",
      "old_mode": 33188,
      "old_path": "src/resolver/resolver.h",
      "new_id": "d4f73fcd29cb32be24ff5b93733273a25ca45e07",
      "new_mode": 33188,
      "new_path": "src/resolver/resolver.h"
    },
    {
      "type": "modify",
      "old_id": "cbcb2a63a13619b7fc4293ab5780ed3cc89b999c",
      "old_mode": 33188,
      "old_path": "src/resolver/resolver_test_helper.h",
      "new_id": "cd9dd7ad3a9598ca48beb65a0e314a793e69a1ab",
      "new_mode": 33188,
      "new_path": "src/resolver/resolver_test_helper.h"
    },
    {
      "type": "modify",
      "old_id": "ec2113c033e5675ffa570cf035c3a68b1f322e6e",
      "old_mode": 33188,
      "old_path": "src/resolver/type_validation_test.cc",
      "new_id": "973c7182a82cc45428504d383615c85bc01cb144",
      "new_mode": 33188,
      "new_path": "src/resolver/type_validation_test.cc"
    },
    {
      "type": "modify",
      "old_id": "13b3820befd5c7aa735c51296bfd612315683f4f",
      "old_mode": 33188,
      "old_path": "src/semantic/sem_variable.cc",
      "new_id": "c34515428d27d7a6fae24ca3ed532a6c909b7551",
      "new_mode": 33188,
      "new_path": "src/semantic/sem_variable.cc"
    },
    {
      "type": "modify",
      "old_id": "7cae4908978acc4379d46e25d95d52f580c147ce",
      "old_mode": 33188,
      "old_path": "src/semantic/variable.h",
      "new_id": "987317692720145ab0c4e50a27ad92bababe3985",
      "new_mode": 33188,
      "new_path": "src/semantic/variable.h"
    },
    {
      "type": "modify",
      "old_id": "4c8ed7bd5019495871db95758fcdf9fdc68a996a",
      "old_mode": 33188,
      "old_path": "src/transform/binding_remapper.cc",
      "new_id": "aed0b0aee828b30a0edd82b49d4b58d417b139bf",
      "new_mode": 33188,
      "new_path": "src/transform/binding_remapper.cc"
    },
    {
      "type": "modify",
      "old_id": "db1b5a7dfe899d8bfc13b8e0d773b62a91ba3803",
      "old_mode": 33188,
      "old_path": "src/transform/canonicalize_entry_point_io.cc",
      "new_id": "72c88b4f4be4904b9123ee94668aaf7c1ae0a6f6",
      "new_mode": 33188,
      "new_path": "src/transform/canonicalize_entry_point_io.cc"
    },
    {
      "type": "modify",
      "old_id": "6945cbfd19d4dd4bcf8d7470dace4fc29ae66ffd",
      "old_mode": 33188,
      "old_path": "src/transform/spirv.cc",
      "new_id": "6adc9311ea88a1c710b788e20c54dcfddc6381cc",
      "new_mode": 33188,
      "new_path": "src/transform/spirv.cc"
    },
    {
      "type": "modify",
      "old_id": "7ac53e16992996fe6d5e9100424a8acb8093d6b0",
      "old_mode": 33188,
      "old_path": "src/transform/spirv.h",
      "new_id": "a80a1dc050d692787c8e777cc38ae08a939fd6e6",
      "new_mode": 33188,
      "new_path": "src/transform/spirv.h"
    },
    {
      "type": "modify",
      "old_id": "2c356894d818eb84b99af222a928c7edecce1a15",
      "old_mode": 33188,
      "old_path": "src/writer/hlsl/generator_impl.cc",
      "new_id": "81ae49aab7b5acdc16a329e99d6f9ba6367737ca",
      "new_mode": 33188,
      "new_path": "src/writer/hlsl/generator_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "22285c034aed3dd093aa3cd3352a6de950802712",
      "old_mode": 33188,
      "old_path": "src/writer/wgsl/generator_impl.cc",
      "new_id": "78242ecdac04e497140d73a4f7aa47e8e2a2f93f",
      "new_mode": 33188,
      "new_path": "src/writer/wgsl/generator_impl.cc"
    }
  ]
}
