)]}'
{
  "commit": "2db8497948ecd5fe0552cef154e55a72a8eb083c",
  "tree": "66406ab93325bf793d4323a676ea84ad7f13ac5d",
  "parents": [
    "17c95f6490e917c5764c4a8281df492d19542172"
  ],
  "author": {
    "name": "Michael Zolotukhin",
    "email": "mzolotukhin@apple.com",
    "time": "Tue Sep 08 23:52:33 2015 +0000"
  },
  "committer": {
    "name": "Michael Zolotukhin",
    "email": "mzolotukhin@apple.com",
    "time": "Tue Sep 08 23:52:33 2015 +0000"
  },
  "message": "Introduce __builtin_nontemporal_store and __builtin_nontemporal_load.\n\nSummary:\nCurrently clang provides no general way to generate nontemporal loads/stores.\nThere are some architecture specific builtins for doing so (e.g. in x86), but\nthere is no way to generate non-temporal store on, e.g. AArch64. This patch adds\ngeneric builtins which are expanded to a simple store with \u0027!nontemporal\u0027\nattribute in IR.\n\nDifferential Revision: http://reviews.llvm.org/D12313\n\ngit-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247104 91177308-0d34-0410-b5e6-96231b3b80d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "853c2c51b5fcfbfb8e754b0d38c3a3fd85df06ee",
      "old_mode": 33188,
      "old_path": "include/clang/Basic/Builtins.def",
      "new_id": "ef9e902f1d2a09be4fbea98dee0d76901b32e8cc",
      "new_mode": 33188,
      "new_path": "include/clang/Basic/Builtins.def"
    },
    {
      "type": "modify",
      "old_id": "6ac57489250ad8e6424507d747a999694ff327d8",
      "old_mode": 33188,
      "old_path": "include/clang/Basic/DiagnosticSemaKinds.td",
      "new_id": "2c3b22a21bf466413b9eafba9e9123e781624712",
      "new_mode": 33188,
      "new_path": "include/clang/Basic/DiagnosticSemaKinds.td"
    },
    {
      "type": "modify",
      "old_id": "bc4348253fd6cb48c73ebb750bacde77734a165e",
      "old_mode": 33188,
      "old_path": "include/clang/Sema/Sema.h",
      "new_id": "9e9e2bbacb4c9af09321bc51054356354dec7aee",
      "new_mode": 33188,
      "new_path": "include/clang/Sema/Sema.h"
    },
    {
      "type": "modify",
      "old_id": "c35f25ad103bd6eb87ce04e21b9bdbbf89d98bc5",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/CGBuiltin.cpp",
      "new_id": "729c0a18b06fd7d90fa9d7b55679a16f9a118d10",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/CGBuiltin.cpp"
    },
    {
      "type": "modify",
      "old_id": "6635e570c64adac1d4da7390c7b90c0b641b1223",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/CGExpr.cpp",
      "new_id": "b7d1ef19b15d256e4acf9b7c38a42f9510ef83e0",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/CGExpr.cpp"
    },
    {
      "type": "modify",
      "old_id": "195571ba070e727d2ef22b77819a2e5670fcba5f",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/CGValue.h",
      "new_id": "3ccc4cda89f99c3fa674ea7d427583a497264389",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/CGValue.h"
    },
    {
      "type": "modify",
      "old_id": "86154e923ebefe688904bb9f910fdef4f86bb378",
      "old_mode": 33188,
      "old_path": "lib/CodeGen/CodeGenFunction.h",
      "new_id": "392593298322608fc34e0b178ca2877c2ec1cbbc",
      "new_mode": 33188,
      "new_path": "lib/CodeGen/CodeGenFunction.h"
    },
    {
      "type": "modify",
      "old_id": "92c94560d574799d1ae4a37542c22ebecb0213bb",
      "old_mode": 33188,
      "old_path": "lib/Sema/SemaChecking.cpp",
      "new_id": "c6a00b1dad14cf6a3f60fd9985428b01eb658e16",
      "new_mode": 33188,
      "new_path": "lib/Sema/SemaChecking.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ddb9a1cbb60b68380c65cf60d087b942de3b5cd",
      "new_mode": 33188,
      "new_path": "test/CodeGen/Nontemporal.cpp"
    }
  ]
}
