)]}'
{
  "log": [
    {
      "commit": "a3b836a9847468b1be6247bd596ee12d5783e332",
      "tree": "d4d46fe49ac11d518e4a8d761ebec2c9300b2a3c",
      "parents": [
        "198d43f040ea338d2625611c8aa776d8d8385e81"
      ],
      "author": {
        "name": "Fabian Sommer",
        "email": "fabiansommer@chromium.org",
        "time": "Tue Jul 05 15:39:42 2022"
      },
      "committer": {
        "name": "Fabian Sommer",
        "email": "fabiansommer@chromium.org",
        "time": "Wed Jul 20 09:10:50 2022"
      },
      "message": "Use python3 instead of python\n\nThe script fails if there is no binary called python, which is the case\non my workstation, and soon will be the case on our bots.\n\nBug: 1340750\nChange-Id: I3c38894a4e56f21f26e0cd088da4bcd793fb9435\nReviewed-on: https://chromium-review.googlesource.com/c/native_client/pnacl-llvm/+/3745957\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "198d43f040ea338d2625611c8aa776d8d8385e81",
      "tree": "d42f1ce6505e272010e9206db316353cab3555ac",
      "parents": [
        "b91411b468254292a46ac0c4a18e196c5488400b"
      ],
      "author": {
        "name": "Fabian Sommer",
        "email": "fabiansommer@chromium.org",
        "time": "Fri Feb 25 16:49:56 2022"
      },
      "committer": {
        "name": "Fabian Sommer",
        "email": "fabiansommer@chromium.org",
        "time": "Mon Feb 28 09:24:51 2022"
      },
      "message": "[Py3] Use brackets for python print\n\nBug: 1205898\nChange-Id: Ie10ab3a9fd34fc2a521d52c60b48054dea8b4108\nReviewed-on: https://chromium-review.googlesource.com/c/native_client/pnacl-llvm/+/3491008\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "b91411b468254292a46ac0c4a18e196c5488400b",
      "tree": "221cef93848d4f452ccf19f9c4486e82ee3266d7",
      "parents": [
        "a75f97ed1ba76dfef4374cedc4a04439631c584d"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Feb 09 18:03:33 2022"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Feb 09 18:07:30 2022"
      },
      "message": "Add missing include to lib/Support/Windows/Process.inc\n\nNeeded for rev a75f97ed1ba76dfef4374cedc4a04439631c584d\n"
    },
    {
      "commit": "a75f97ed1ba76dfef4374cedc4a04439631c584d",
      "tree": "69319b4366b001ffefd77a7939769d232a5a65c1",
      "parents": [
        "65cbe6f54f6253ddb49b2fb752c4abd75a24c8d9"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Feb 08 22:53:41 2022"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Feb 09 16:19:31 2022"
      },
      "message": "Cherry-pick raab9e9de4d9925617bb9bc3891fa96107b615149\n\nThis mitigates failures of CryptAcquireContextW which are sometimes\nseen on Goma RBE\n\nChange-Id: I3b23acfb05e638d6f68889b36f8b371eaf6408c2\nReviewed-on: https://chromium-review.googlesource.com/c/native_client/pnacl-llvm/+/3448745\nReviewed-by: Fabian Sommer \u003cfabiansommer@chromium.org\u003e\n"
    },
    {
      "commit": "65cbe6f54f6253ddb49b2fb752c4abd75a24c8d9",
      "tree": "c5295acff42636e6a1806473d0ec496b917a7995",
      "parents": [
        "6f151b20d4cb347b6af9f8678aa5e13b2fe509f8"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Fri May 08 05:16:21 2020"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Fri May 08 05:29:32 2020"
      },
      "message": "Dont\u0027s pass enable-libcpp to build (host) tools when cross-compiling with libcpp\n\nOur cross-build (i.e. the sandboxed translator build) still uses libcpp but the host\nbuild does not.\n\nThis goes along with https://chromium-review.googlesource.com/c/native_client/src/native_client/+/2093138\nto stop using libcxx in the LLVM host build\n\nChange-Id: Ifc96c80b854e76b0482a7c538c784d12b0c9fabc\nBug: https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4421\nReviewed-on: https://chromium-review.googlesource.com/c/native_client/pnacl-llvm/+/2189571\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "6f151b20d4cb347b6af9f8678aa5e13b2fe509f8",
      "tree": "aa26bb0cb9f8abc9e71e6cb4fa32df795e6aec36",
      "parents": [
        "f106583f7441f5382095738c8273a58d4d061d39"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Feb 26 00:46:55 2020"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Feb 26 00:46:55 2020"
      },
      "message": "Cherry-pick part of LLVM SVN r265828\n\nThis fixes build failures with recent Clang\n"
    },
    {
      "commit": "f106583f7441f5382095738c8273a58d4d061d39",
      "tree": "a509bc1fdac98c394084694aa4cdf51a740073b2",
      "parents": [
        "35fedaf8f2bee88a684934661591f0c2f783031a"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Dec 05 00:51:54 2018"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Dec 05 00:55:36 2018"
      },
      "message": "Hack out build of lli from autoconf build\n\nAlso remove tests.\n\nChange-Id: I164df5d33fa1e9680c152d912ff85cc4232fcbf1\nReviewed-on: https://chromium-review.googlesource.com/c/1362532\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "35fedaf8f2bee88a684934661591f0c2f783031a",
      "tree": "3658890fb2c6aaa83b339ab3b4a4bf6c9bc883b9",
      "parents": [
        "28d173e84a23f5a62a6674dbe68457e50f62b61d"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Dec 05 00:44:12 2018"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Wed Dec 05 00:48:32 2018"
      },
      "message": "Revert \"Hack out build of lli tool from autoconf build\"\n\nThis reverts commit 28d173e84a23f5a62a6674dbe68457e50f62b61d.\n\nReason for revert: Breaks the regression tests.\n\nChange-Id: Id5e0d4bb3d03ea7366a5746aa73dbf1f0a46d6f0\nReviewed-on: https://chromium-review.googlesource.com/c/1361944\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "28d173e84a23f5a62a6674dbe68457e50f62b61d",
      "tree": "2c7d9c7448e030321a093273f37a713f7ec6f7d7",
      "parents": [
        "4ffbbb82cd108420a3c39dd94029cb59a0b3759d"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Dec 04 22:45:27 2018"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Dec 04 22:46:31 2018"
      },
      "message": "Hack out build of lli tool from autoconf build\n\nIt fails to build on the bots for some reason.\n\nMake LLVM\u0027s codereview.settings match NaCl\u0027s\n\nBug: None\nChange-Id: I4d5168ae3acb69580c6ca468da0ba0d738ceb8d1\nReviewed-on: https://chromium-review.googlesource.com/c/1361942\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "4ffbbb82cd108420a3c39dd94029cb59a0b3759d",
      "tree": "3658890fb2c6aaa83b339ab3b4a4bf6c9bc883b9",
      "parents": [
        "35bf8e609e9327e64730c23e0350e10208622063"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Dec 04 22:43:38 2018"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Dec 04 22:43:38 2018"
      },
      "message": "Make LLVM\u0027s codereview.settings match NaCl\u0027s\n"
    },
    {
      "commit": "35bf8e609e9327e64730c23e0350e10208622063",
      "tree": "d7b48729d3dceb4f5f399092cfed695e1d3d567c",
      "parents": [
        "63a5544b9bf92b8ed6af03eae595947de1761fef"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Thu Feb 01 21:53:00 2018"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Thu Feb 01 22:11:38 2018"
      },
      "message": "Fix the Mips LLVMBuild.txt\n\nBug: None\nChange-Id: I595ee09d10bd33075d6e4f6db4ebcd9a5db50823\nReviewed-on: https://chromium-review.googlesource.com/898204\nReviewed-by: Eric Holk \u003ceholk@chromium.org\u003e\n"
    },
    {
      "commit": "63a5544b9bf92b8ed6af03eae595947de1761fef",
      "tree": "acab16fdf09bc2d3f83f0ce0562219d07e7918dd",
      "parents": [
        "7251d5b59fca15195c94a3a7da70f0081724448f"
      ],
      "author": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Tue Jan 31 16:22:26 2017"
      },
      "committer": {
        "name": "Petar Jovanovic",
        "email": "petarj@mips.com",
        "time": "Tue Jan 31 17:21:02 2017"
      },
      "message": "Cherry-pick r247546: [mips] Save a copy of MipsABIInfo ...\n\n[mips] Save a copy of MipsABIInfo in the MipsTargetStreamer to escape a\ndangling pointer\n\nThe MipsTargetELFStreamer can receive ABI info from many sources. For example,\nfrom the MipsAsmParser instance. Lifetime of the MipsAsmParser can be shorter\nthan MipsTargetELFStreamer\u0027s lifetime. In that case we get a dangling pointer\nto MipsABIInfo.\n\nDifferential Revision: http://reviews.llvm.org/D12805\n\nChange-Id: Ic3dbb02fb3e71cf6bccebc2eed5b9fd8eb247816\nReviewed-on: https://chromium-review.googlesource.com/435139\nReviewed-by: Derek Schuff \u003cdschuff@chromium.org\u003e\n"
    },
    {
      "commit": "7251d5b59fca15195c94a3a7da70f0081724448f",
      "tree": "db493a82c83b6b24011bd011c3ba959d847b7c68",
      "parents": [
        "1d79adfbc0115376d75323642038e5193f94b6af"
      ],
      "author": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Fri Nov 04 22:34:26 2016"
      },
      "committer": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Fri Nov 04 22:34:26 2016"
      },
      "message": "Cherry-pick r246309: [mips] Remove incorrect DebugLoc entries from prologue\n\nThis has been causing the prologue_end to be incorrectly positioned.\n\nPatch by Vladimir Radosavljevic.\n\nDifferential Revision: http://reviews.llvm.org/D11293\n\nBUG\u003d gdb_print_symbol and gdb_stack_trace tests fail on MIPS HW\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/2476933003 .\n"
    },
    {
      "commit": "1d79adfbc0115376d75323642038e5193f94b6af",
      "tree": "7443dc33181331811d77d4b5287f4ee6f1177dc9",
      "parents": [
        "5a8750930b705846f477de8c51a837e467ad875d"
      ],
      "author": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Thu Nov 03 20:22:30 2016"
      },
      "committer": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Thu Nov 03 20:22:30 2016"
      },
      "message": "Cherry-pick r237153: [Mips] Return false for isFPCloseToIncomingSP()\n\nOn Mips, frame pointer points to the same side of the frame as the stack\npointer. This function is used to decide where to put register scavenging\nspill slot. So far, it was put on the wrong side of the frame, and thus it\nwas too far away from $fp when frame was larger than 2^15 bytes.\n\nPatch by Vladimir Radosavljevic.\n\nhttp://reviews.llvm.org/D8895\n\nBUG\u003d pnacl-llc aborts on run_vector_extension_test for MIPS\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/2470173003 .\n"
    },
    {
      "commit": "5a8750930b705846f477de8c51a837e467ad875d",
      "tree": "4177ac162dbb361d5c83a649c39dde83aa79308b",
      "parents": [
        "83991f993fea6cd9c515df12c3270ab9c0746215"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Aug 23 17:43:56 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Aug 23 17:43:56 2016"
      },
      "message": "Create one-off tool pnacl-hack-memset\n\nThis tool takes a pexe, looks for calls to memset that (were) broken in\nsubzero, and does a patch to such calls.\n\nThat is, if the 2nd argument is a negative i8 (i.e. 0x80 through 0xff),\nand the third argument is a constant, the code adds zero to the third\nargument. This fix disables the (formerly) broken subzero optimization.\n\nThis hack is only necessary until about 10/31/16, when M54 gets released\nfor chromeos.\n\nNote: Has command-line option --show-fixes if you want to see the calls\nthat were fixed.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/2262373002 .\n"
    },
    {
      "commit": "83991f993fea6cd9c515df12c3270ab9c0746215",
      "tree": "3e3cd077cfbdb48b4c173f01106a80189213d79b",
      "parents": [
        "ec682dd49c241eafacbb8d5872c98743af0b46e4"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu May 12 17:23:59 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu May 12 17:23:59 2016"
      },
      "message": "Remove compiler warning when building.\n\nClang doesn\u0027t realize that the end of method\nNaClBitsreamCursor::readArrayAbbreviationField is unreachable. Add\nunreachable call to make the compiler happy.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1974883002 .\n"
    },
    {
      "commit": "ec682dd49c241eafacbb8d5872c98743af0b46e4",
      "tree": "1ce3f95d3b1b537a4a49bfdd98193bf0fc13c31b",
      "parents": [
        "34cb8ae903666b450f96df1b57ec31ae413216b7"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Wed Apr 20 19:51:17 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Wed Apr 20 19:51:17 2016"
      },
      "message": "PNaCl Dynamic Linking: Exporting / Importing TLS Variables.\n\nThis patch modifies \"handleTlsVars\" by splitting it into two parts.\n1) It handles local TLS variables (the old case of handling TLS, but\nwith additional steps to export TLS variables).\n2) It handles imported TLS variables by replacing imports with\nTLSVarGetter closures.\n\nThe TLS imports are inserted as new fields in the PSO Root, but the\nTLS exports re-use existing structures.\n\nAdditionally, ExpandTls\u0027s \"buildTlsTemplate\" has been modified to\nallow global TLS variables without initializers (imported TLS variables).\n\nUsed by https://codereview.chromium.org/1867623003/\n\nTEST\u003d`llvm-lit -sv test`, pll_dependencies_test, run_pll_loader_test\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1861523002 .\n"
    },
    {
      "commit": "34cb8ae903666b450f96df1b57ec31ae413216b7",
      "tree": "90663b9adee274deaad6c7c10dc731b7d7ca55bc",
      "parents": [
        "f6a5f463657a536ef3f55ce4b4704a7131e4f7ca"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Sat Apr 02 17:06:21 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Sat Apr 02 17:06:21 2016"
      },
      "message": "Correct error reporting bit for parallel PNaCl bitcode parses.\n\nThis CL adds a way to deal with the fact that parallel parses of\nfunction blocks (in PNaCl bitcode parsers) parse an extract buffer of\nbits surrounding the function block.\n\nIt does this by adding the field ErrorOffset to a bitstream reader,\nand the bitstream cursor function getErrorBitNo() to convert bit\npositions in the bitstream reader by adding the number of bytes\nspecified by field ErrorOffset.\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4363\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1851163002 .\n"
    },
    {
      "commit": "f6a5f463657a536ef3f55ce4b4704a7131e4f7ca",
      "tree": "769c75e467a0aefad389389aa468a37a6179c52d",
      "parents": [
        "652826e4296039e4f698268bb4287df56af0d550"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Mar 30 19:46:43 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Mar 30 19:46:43 2016"
      },
      "message": "Modify bitstream reader to allow parallel parses.\n\nThis is a resubmission of CL https://codereview.chromium.org/1838203002,\nafter it got reverted.\n\nThe previous CL fixed class NaClBitstreamReader to allow parallel\nparses. In particular, it made the global abbreviations a shared object,\nso that it can be shared by other bitstream readers.\n\nTo make the overhead small, the lookup map of global abbreviations was\ninitialized up front with all known block IDs, rather than incrementally\nupdating. This reduced the locking considerably in that the block ID\nlookup no longer needs a lock.\n\nThe reason that the previous CL was reverted was because of the\npresumption that all block IDs are known. This meant that the bitstream\nreader had to deal with bad block IDs. This breaks the parsing\nphilosophy that the issue should be returned to the parser so that it\ncan report the error appropriately, and if possible, error recover as\nwell.\n\nThe fix added to the previous CL is to add a second \"unknown\" lookup map\nthat uses a lock to update. This restores the incremental behavior, even\nif much slower. Since such unknown cases represent error cases, the slow\nbehavior should be acceptable.\n\nThis code also assumes that parallel parsing is done with 1 driver parse\nthread, and n helper parse threads to parse function blocks. The\ndriver thread is responsible for parsing the memory object, and\nspawning off parallel parses for each function block. To guarantee\ncorrectness (since memory objects may be dynamically filled), the\ndriver parser should build a buffer and copy the corresponding bytes\nof the function block into that buffer, before spawning off the\nparallel parser to parse it.\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4363\nR\u003dstichnot@chromium.org, jpp@chromium.org\n\nReview URL: https://codereview.chromium.org/1843673003 .\n"
    },
    {
      "commit": "652826e4296039e4f698268bb4287df56af0d550",
      "tree": "98339092a4187a40a101086626ebd907a78b9600",
      "parents": [
        "981b9c2404effe77d86b4802414d265510da42c1"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Mar 30 16:45:06 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Mar 30 16:45:06 2016"
      },
      "message": "Fix binary instructions to accept flags argument in pnacl-bcdis.\n\nFixes bug where some old PNaCl PEXE files had binary instructions\nwith 4 arguments instead of 3. The fourth argument is a \"flags\" argument\nthat should be ignored.\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4364\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1844563003 .\n"
    },
    {
      "commit": "981b9c2404effe77d86b4802414d265510da42c1",
      "tree": "e42500a34b40a695bf740d58e549ec1279007fa9",
      "parents": [
        "9f7c780be51eed366c10a97a2cf41b5d7da8a533"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Mar 29 20:36:45 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Mar 29 20:36:45 2016"
      },
      "message": "Revert \"Modify NaCl bitstream reader to allow parallel parses.\"\n\nThis reverts commit 9f7c780be51eed366c10a97a2cf41b5d7da8a533.\n\nRevert https://codereview.chromium.org/1838203002\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1842763004 .\n"
    },
    {
      "commit": "9f7c780be51eed366c10a97a2cf41b5d7da8a533",
      "tree": "142cbb37579909ed5f2ec184061ecd9b95c6debe",
      "parents": [
        "3a2a7d006b87fc9ff029503b1f68d5f4428db4c7"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Mar 29 20:10:02 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Mar 29 20:10:02 2016"
      },
      "message": "Modify NaCl bitstream reader to allow parallel parses.\n\nFixes class NaClBitstreamReader to allow parallel parses. In\nparticular, it makes the global abbreviations a shared object, so that\nit can be shared by other bitstream readers.\n\nTo make the overhead small, the lookup map of the global abbreviations\nis initialized up front with all known block ids, rather than\nincrementally updating. This reduces the locking considerably in that\nthe block lookup no longer needs a lock.\n\nFinally, it adds a constructor to class NaClBitstreamReader that\nallows one to construct a new (parallel) bitstream reader from an\nexisting bistream reader.\n\nThis code assumes that parallel parsing is done with 1 driver parse\nthread, and n helper parse threads to parse function blocks. The\ndriver thread is responsible for parsing the memory object, and\nspawning off parallel parses for each function block. To guarantee\ncorrectness (since memory objects may be dynamically filled), the\ndriver parser should build a buffer and copy the corresponding bytes\nof the function block into that buffer, before spawning off the\nparallel parser to parse it.\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4363\nR\u003djpp@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1838203002 .\n"
    },
    {
      "commit": "3a2a7d006b87fc9ff029503b1f68d5f4428db4c7",
      "tree": "e42500a34b40a695bf740d58e549ec1279007fa9",
      "parents": [
        "9ab937b36f0e94e81fb7f6c5ea0db719146143db"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Tue Mar 29 19:49:58 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Tue Mar 29 19:49:58 2016"
      },
      "message": "PNaCl Dynamic Linking: Storing dependencies from command line in PLL.\n\nUsed by https://codereview.chromium.org/1825893002/\n\nTEST\u003drun_pll_hello_world_test\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1829793002 .\n"
    },
    {
      "commit": "9ab937b36f0e94e81fb7f6c5ea0db719146143db",
      "tree": "00aef57c4498d21c7d5a35ef0e14eff82b9184e8",
      "parents": [
        "ad73601fb508e3754169cf2fd3e3eefc813723a2"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Fri Mar 25 18:05:07 2016"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Fri Mar 25 18:05:07 2016"
      },
      "message": "Support additional flags during finalization\n\nTo match the behavior of the existing toolchain, allow setting LTO\noptimization level and allow running ABI verification after\nfinalization.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4347\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1815813002 .\n"
    },
    {
      "commit": "ad73601fb508e3754169cf2fd3e3eefc813723a2",
      "tree": "47f12a4c4892c9b75ac781372aaae1d447666ac9",
      "parents": [
        "a65844702e4a122c89225a94f8edf01941fb8e02"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Mar 24 16:15:49 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Mar 24 16:15:49 2016"
      },
      "message": "Add a bitcode parser constructor for parallel parsing.\n\nAllows the caller of the constructor to provide the bitstream cursor to\nuse, rather than inheriting from the enclosing parser. This allows each\nparallel parse (of subblocks) to create thier own bitcode cursor.\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4363\nR\u003djpp@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1831493003 .\n"
    },
    {
      "commit": "a65844702e4a122c89225a94f8edf01941fb8e02",
      "tree": "69720aff489ce2cc3088467e25b99a17406af019",
      "parents": [
        "82bce97f9aba25c29d5a33773fb9945d6ff7c3de"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Mon Mar 21 19:38:09 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Mon Mar 21 19:38:09 2016"
      },
      "message": "Fix the block stack used by the bitstream cursor.\n\nThe previous implementation of the bitstream cursor copied global\nabbreviations for each block into its own vector, and deleted the\nvector when the vector went out of scope.  Further aggrevating the\nsituation is that function blocks can have hundreds of global\nabbreviations that need to be copied.\n\nThis results in over 500k calls to malloc during parsing.  Since PNaCl\ncompiles using newlib, and uses multiple threads, this introduces a\nnoticeable slowdown.\n\nThis CL fixes this problem by refering to the collected global\nabbreviations directly, thereby removing these abbreviation copies.\n\nBUG\u003dNone\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1798243002 .\n"
    },
    {
      "commit": "82bce97f9aba25c29d5a33773fb9945d6ff7c3de",
      "tree": "625fbc518d42eb652fd3bd00e46aa477bed006f4",
      "parents": [
        "aedc0ff750a4e4ffc65c38954be9fcbbcde6bd8c"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Mar 11 07:30:02 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Mar 11 07:30:02 2016"
      },
      "message": "PNaCl: ExpandTls: Simplify by using a C++11 lambda function\n\nNow that we can use C++11 lambdas, we can define addVarToTlsTemplate()\nas a local function rather than using a class (PassState).\n\nSince padToAlignment() only had one call site now, we can inline it\ninto addVarToTlsTemplate().\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/expand-tls*.ll\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1780463004 .\n"
    },
    {
      "commit": "aedc0ff750a4e4ffc65c38954be9fcbbcde6bd8c",
      "tree": "a90dbf9131e4e704b379be956887bcbba657466a",
      "parents": [
        "8462dac98d8af51a611e814cacf8bc6d9362b8a6"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Thu Mar 10 02:50:00 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Thu Mar 10 02:50:00 2016"
      },
      "message": "PNaCl dynamic linking: Add initial support for TLS\n\nAdd support for references to within-module thread-local (TLS)\nvariables.  Between-module references (i.e. imports and exports) of\nTLS variables are not supported yet.\n\nChange ConvertToPSO so that it:\n\n * Builds a template for the module\u0027s TLS variables and exports this\n   via the PSO root.\n * Rewrites accesses to TLS variables as described in the comment.\n   This is similar to what ExpandTls does, except ConvertToPSO uses a\n   function call rather than an intrinsic call to get the base of the\n   TLS block.\n\nDeclare ExpandTls\u0027s buildTlsTemplate() in a header file so that\nConvertToPSO can reuse it.  Rename the \"VarInfo\" struct to\n\"TlsVarInfo\" now that it\u0027s shared outside ExpandTls.cpp.\n\nAdd test coverage, reusing the existing test cases for ExpandTls.  Add\n\"target datalayout\" to these tests because ConvertToPSO\u0027s use of\nFlattenGlobals requires it.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/expand-tls*.ll + https://codereview.chromium.org/1779673002/\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1766563002 .\n"
    },
    {
      "commit": "8462dac98d8af51a611e814cacf8bc6d9362b8a6",
      "tree": "83dc0710d56d2e206b3e8a06b013dc841c0e0c06",
      "parents": [
        "8f46d7bbf965fb26a2eda80f3f6c340f04c77804"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Wed Mar 09 02:38:25 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Wed Mar 09 02:38:25 2016"
      },
      "message": "PNaCl: ExpandTls: Split buildTlsTemplate() into smaller functions\n\nI will be able to reuse this smaller version of buildTlsTemplate() for\nhandling TLS in the ConvertToPSO pass.\n\nI think this also makes the code a bit more readable.\n\nNote that we no longer need to use padToAlignment() to add the final\npadding.  We can just increase TotalSize instead.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/expand-tls*.ll\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1778533002 .\n"
    },
    {
      "commit": "8f46d7bbf965fb26a2eda80f3f6c340f04c77804",
      "tree": "0e24c96db40d1e09d1ec12bc45987e8e109a531d",
      "parents": [
        "c4c384b33a5a5485919578277d9c0696bf1e1888"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Wed Mar 09 02:31:10 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Wed Mar 09 02:31:10 2016"
      },
      "message": "PNaCl: ExpandTls: Generate byte offsets instead of struct field indexes\n\nThe original version of the ExpandTls pass generates a struct type\nthat represents the thread-local variables block.  It calculates the\naddress of a thread-local variable by casting the thread pointer to\nthat struct type and using getelementptr to calculate the addresses of\nstruct fields.  That generates relatively readable code and it\nprovides some type-checking, but it\u0027s rather complicated, especially\nbecause we had to have two struct types (for initialized and BSS\nvariables).\n\nWe can simplify the code by generating byte offsets instead.  We were\nalready calculating the byte offsets anyway in order to add alignment\npadding.\n\nThis will make it easier to reuse this code for the dynamic linking\ncase.\n\nUse uint32_t for offsets for consistency and because having a \u003e4GB TLS\narea is not very reasonable.\n\nTesting:\n * expand-tls-aligned.ll: Add tests for the generated offsets, similar\n   to what expand-tls.ll tests for.\n * Remove expand-tls-bss.ll because expand-tls-aligned.ll already\n   tests handling of BSS variables.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/expand-tls*.ll\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1765193002 .\n"
    },
    {
      "commit": "c4c384b33a5a5485919578277d9c0696bf1e1888",
      "tree": "f1e567595d7e3aace84885902367494fa62f2c1a",
      "parents": [
        "0a4fdf87097a38de3e8c6208f9c38d2844ca05f6"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Mon Mar 07 20:39:27 2016"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Mon Mar 07 20:39:27 2016"
      },
      "message": "Perform bitcode simplification at link time\n\nThis modification to LLVM gold plugin allows performing the bitcode\nsimplification at link time avoiding the need for a separate\nfinalization step streamlining the build process and improving the\nperformance.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4347\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1576733002 .\n"
    },
    {
      "commit": "0a4fdf87097a38de3e8c6208f9c38d2844ca05f6",
      "tree": "aee5ab292becefa8fec4086ff046d40b1f5155fa",
      "parents": [
        "a15c6ee28f03cd0b380d7b17abe9c718e4d3bad1"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Sat Mar 05 01:21:01 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Sat Mar 05 01:21:01 2016"
      },
      "message": "PNaCl: ExpandTls: Update comment about use of x86-style TLS layout\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dnone\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1765623004 .\n"
    },
    {
      "commit": "a15c6ee28f03cd0b380d7b17abe9c718e4d3bad1",
      "tree": "597331cbd983190124741c9484ef53105d891e7c",
      "parents": [
        "30094fdb82899b2dfe3d0f7ce94be5e6a200216d"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Sat Mar 05 00:26:29 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Sat Mar 05 00:26:29 2016"
      },
      "message": "PNaCl dynamic linking: Allow aliases to functions and variables.\n\nTested by https://codereview.chromium.org/1761643003\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003drun_pll_symbols_test_irt\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1762853002 .\n"
    },
    {
      "commit": "30094fdb82899b2dfe3d0f7ce94be5e6a200216d",
      "tree": "d36f41c18fb73f9ccb333314ea22194b3af4084c",
      "parents": [
        "cd98ed3e42a0463c61fd1ee3d6dadf6502c016eb"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Fri Mar 04 22:15:34 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Fri Mar 04 22:15:34 2016"
      },
      "message": "PNaCl dynamic linking: Added a Bloom Filter to the PLL root.\n\nThis CL is tested by: https://codereview.chromium.org/1735683002/\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1727383003 .\n"
    },
    {
      "commit": "cd98ed3e42a0463c61fd1ee3d6dadf6502c016eb",
      "tree": "3a0a454a1c0880c1ed7b92975ef2b41ce9c15c62",
      "parents": [
        "f7e59d4dbaffc2eaac6b593fed9d5fd825dfb5b7"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Mar 04 19:10:00 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Mar 04 19:10:00 2016"
      },
      "message": "PNaCl: ExpandTls: Use C++11 range-based \"for\" loops\n\nAlso use use_empty() rather than hasNUsesOrMore(1) since the former is\nclearer.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/expand-tls*.ll\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1759263003 .\n"
    },
    {
      "commit": "f7e59d4dbaffc2eaac6b593fed9d5fd825dfb5b7",
      "tree": "4fef7363e996f5e9da97cd9e9f9574d0a9256a64",
      "parents": [
        "a6f5a6962413b7f5bc6db3f854543498706813f1"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Mar 04 18:49:20 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Mar 04 18:49:20 2016"
      },
      "message": "PNaCl: ConvertToPSO: Move createArray()/createDataArray() out of runOnModule()\n\nrunOnModule() is getting rather large, so this change is intended to\nmake this function more manageable.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/convert-to-pso.ll\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1765773003 .\n"
    },
    {
      "commit": "a6f5a6962413b7f5bc6db3f854543498706813f1",
      "tree": "3f6f9ecf17dc7e7869b974bbe3aa6b0f2b783f2a",
      "parents": [
        "2dc38a29dc8524383fb38df7cbedde8e210cf60c"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Wed Mar 02 17:12:35 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Wed Mar 02 17:12:35 2016"
      },
      "message": "PNaCl dynamic linking: Allow relocations of const variables.\n\nTested by https://codereview.chromium.org/1748233002\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003drun_pll_symbols_test_irt\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1748223002 .\n"
    },
    {
      "commit": "2dc38a29dc8524383fb38df7cbedde8e210cf60c",
      "tree": "0e546a9dbc53f54477bf3207af1e058a97502729",
      "parents": [
        "21d53dad27941cfb2157d0618be089f896565358"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Tue Mar 01 18:37:48 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Tue Mar 01 18:37:48 2016"
      },
      "message": "Remove std::move on return when unnecessary.\n\nThis removes a handful of compiler warnings.\n\ntools/pnacl-llc/pnacl-llc.cpp fixed manually.\nPulls in upstream commit fda9fd463dae38840cc02c5ae668cb1097395b9a\n Fixes:\n   include/llvm/ADT/APFloat.h\n   include/llvm/IR/PassManager.h\n   utils/yaml-bench/YAMLBench.cpp\nPulls in upstream commit 509e9d94712f7586e9dfc7a2f4c1affd7620a744\n Fixes:\n   lib/Analysis/LoopInfo.cpp\n   tools/lli/OrcLazyJIT.cpp\n\nBUG\u003d None\nR\u003dphosek@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1747083002 .\n"
    },
    {
      "commit": "21d53dad27941cfb2157d0618be089f896565358",
      "tree": "fbce784d5385ed519a72896412a6b8b0609533cd",
      "parents": [
        "b80cbf6183c3a0b32d02d2859d036659ffa8b4d8"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Tue Feb 23 19:08:45 2016"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Tue Feb 23 19:08:45 2016"
      },
      "message": "Remove Emscripten support\n\nThe official Emscripten toolchain is no longer based on our branch and\nthe related changes have a large maintenance cost.\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1692803002 .\n"
    },
    {
      "commit": "b80cbf6183c3a0b32d02d2859d036659ffa8b4d8",
      "tree": "69b37daa579646b93683140c451f783d163ce7f4",
      "parents": [
        "2ad45a50aa666c5eac9b7fd3cc2ccf0268f6ea84"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Mon Feb 22 18:45:38 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Mon Feb 22 18:45:38 2016"
      },
      "message": "PNaCl dynamic linking: Added a Hash Table to quickly access exported symbols.\n\nInspired by the GNU ELF\u0027s \".hash\" section, this CL implements\na simplified version of that hash table (for example, with no\nbloom filter).\n\nThis CL also requires sorting the list of exported symbols with\nrespect to the hashing function. Details are included in the\ncommented documentation.\n\nThis CL is tested by:\nhttps://codereview.chromium.org/1710563002/\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1705263002 .\n"
    },
    {
      "commit": "2ad45a50aa666c5eac9b7fd3cc2ccf0268f6ea84",
      "tree": "7781b098da741573666c2f04f3fd6b2675ecf9cd",
      "parents": [
        "aa09f2c4ce3ced974ef25e004106345daaaebd04"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Feb 19 18:46:16 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Feb 19 18:46:16 2016"
      },
      "message": "PNaCl dynamic linking: Add a \"version\" field to aid cross-repo changes\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003drun_psl_symbols_test_irt with https://codereview.chromium.org/1709283002/\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1711183002 .\n"
    },
    {
      "commit": "aa09f2c4ce3ced974ef25e004106345daaaebd04",
      "tree": "74c1f81c4122d0f073a525e970d21c048e677add",
      "parents": [
        "e1f6cb72281ed9912987bc291d0540f3e649c078"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Feb 12 22:17:26 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Feb 12 22:17:26 2016"
      },
      "message": "PNaCl dynamic linking: Fix handling of local relocations with addends\n\nWhile testing ConvertToPSO on newlib\u0027s libc.a, I found that the pass\ndidn\u0027t work on relocations with addends that refer to module-local\nvariables.\n\nThe reason is that we\u0027re running FlattenGlobals twice (once in\n\"-convert-to-pso\" and once in \"-pnacl-abi-simplify-postopt\"), but\nFlattenGlobals isn\u0027t idempotent for this case.  FlattenGlobals can\nhandle a getelementptr as input, but it converts it to ptrtoint+add,\nwhich it doesn\u0027t handle.\n\nFix this by changing FlattenGlobals to handle \"add\" ConstantExprs.\n\nTesting:\n\n * convert-to-pso.ll: Test this end-to-end.\n\n * flatten-globals.ll: Check this specific case, and check idempotence\n   in general.\n\n   The latter requires that we use getSExtValue() (sign-extending)\n   rather than getZExtValue() (zero-extending), otherwise the\n   negative-addend test fails with \"FlattenGlobals: Offset does not\n   fit into 32 bits\".\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003dtest/Transforms/NaCl/*.ll\nR\u003dphosek@chromium.org\n\nReview URL: https://codereview.chromium.org/1694663002 .\n"
    },
    {
      "commit": "e1f6cb72281ed9912987bc291d0540f3e649c078",
      "tree": "6ac087ded6f9fc2f532af7803245656cde87f38a",
      "parents": [
        "9c39234df5b0f7c6f4d10d54bbdd57699b1c0891"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Feb 12 18:49:19 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Fri Feb 12 18:49:19 2016"
      },
      "message": "PNaCl dynamic linking: Handle imports referenced by functions\n\nAdd support for importing GlobalValues when they are referenced by\ninstructions within functions.  This reduces to the case of importing\nGlobalValues when they are referenced by global variables\u0027\ninitialisers.\n\nThis change adds code for building a \"globals table\", which does the\nsame job as the Global Offset Table (GOT) in ELF.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003drun_psl_symbols_test_irt with https://codereview.chromium.org/1688943002\nR\u003dsmklein@chromium.org\n\nReview URL: https://codereview.chromium.org/1689793002 .\n"
    },
    {
      "commit": "9c39234df5b0f7c6f4d10d54bbdd57699b1c0891",
      "tree": "896d9fe5185e00e10c50915305db38a022542950",
      "parents": [
        "caaf7a421581357bb0333d12e47e0b8ba1648bf9"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Feb 12 17:40:28 2016"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Feb 12 17:40:28 2016"
      },
      "message": "PNaCl. LLVM-MC. Applies patch L239239.\n\nTeaching llvm-mc how to understand the defsym command line option.\nThis allows integer-constant symbols to be defined on the command line\nand used during assembly.\n\nBUG\u003d http://reviews.llvm.org/rL239240\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1691103002 .\n"
    },
    {
      "commit": "caaf7a421581357bb0333d12e47e0b8ba1648bf9",
      "tree": "35e32eb12d2a969ec9d19cb160f9f44bef9ea2a3",
      "parents": [
        "87963431ed9037fc32fee88e18bdfbf595f0a854"
      ],
      "author": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Thu Feb 11 17:31:29 2016"
      },
      "committer": {
        "name": "Sean Klein",
        "email": "smklein@chromium.org",
        "time": "Thu Feb 11 17:31:29 2016"
      },
      "message": "Compressed array of exported symbol names into single string with indexes.\n\nThis removes the need to relocate each individual string when the PSO is loaded.\n\nTEST\u003dpsl_symbols_test\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nR\u003dmseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1678243003 .\n"
    },
    {
      "commit": "87963431ed9037fc32fee88e18bdfbf595f0a854",
      "tree": "a35763cf327c730c7722cd60464843572ecc314a",
      "parents": [
        "dfcf8adc7cf426cd36e87f52dddc30a6922e9f7c"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Feb 09 18:01:01 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Feb 09 18:01:01 2016"
      },
      "message": "PNaCl dynamic linking: Handle imports referenced by global variables\n\nAdd support for importing GlobalValues when they are referenced by\nglobal variables.  This builds up an array of pointers to locations\nwithin global variables that must be filled out (relocated) when a\nmodule is loaded.\n\nNote that this doesn\u0027t yet handle importing GlobalValues when they are\nreferenced directly within functions.  I\u0027ll implement that in a\nfollow-on change.\n\nThis change simplifies existing export processing slightly by using\nLLVM\u0027s ConstantDataArray::getString() for creating a string literal\nwith a null terminator (used within the createNameString() function\nthat I have split out).\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003drun_psl_symbols_test_irt in https://codereview.chromium.org/1655383002\nR\u003dphosek@google.com\n\nReview URL: https://codereview.chromium.org/1661733002 .\n"
    },
    {
      "commit": "dfcf8adc7cf426cd36e87f52dddc30a6922e9f7c",
      "tree": "dbc46cda092f5c058a3725d40952a521ef7ab97e",
      "parents": [
        "365a749042645c0ec8a9db66742fad2a2c6f5da1"
      ],
      "author": {
        "name": "David Sehr",
        "email": "sehr@chromium.org",
        "time": "Fri Feb 05 22:45:23 2016"
      },
      "committer": {
        "name": "David Sehr",
        "email": "sehr@chromium.org",
        "time": "Fri Feb 05 22:45:23 2016"
      },
      "message": "Add a tool to add names for globals and functions\n\nABI conforming pexes have no names for globals/functions.  This leads to\nllc and subzero differing in the names they assign to symbols, which makes\nA/B builds crash.  This tool takes an ABI conforming pexe and adds symbol names\nto produce a new pexe, which can be used with A/B builds.\n\nBUG\u003d\nR\u003ddschuff@chromium.org, jpp@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1665073003 .\n"
    },
    {
      "commit": "365a749042645c0ec8a9db66742fad2a2c6f5da1",
      "tree": "c5961d859c07b6ec0dd05cebf9bf6ba29fc34535",
      "parents": [
        "dd160f2d4d65b647776eb1c07653afa284fb2d96"
      ],
      "author": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Thu Feb 04 23:22:42 2016"
      },
      "committer": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Thu Feb 04 23:22:42 2016"
      },
      "message": "[MIPS] Add ExpandVarArgs pass to mipsel-nacl-clang\n\nAdd missing ExpandVarArgs pass to direct-to-nacl.\nIt should fix one issue that we came across in porting MUSL to NaCl.\n\nR\u003ddschuff@chromium.org, phosek@chromium.org\n\nReview URL: https://codereview.chromium.org/1664663004 .\n"
    },
    {
      "commit": "dd160f2d4d65b647776eb1c07653afa284fb2d96",
      "tree": "eaa14aee619c6b2b5688a04afc38a1536b090f65",
      "parents": [
        "53d3a6c8eb90dbf2ab3ed5bef0394e9b0107ae91"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Thu Feb 04 19:23:25 2016"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Thu Feb 04 19:23:25 2016"
      },
      "message": "Do not create init/fini array symbols unless needed\n\nOptimisation passes assume that global variables are non-empty and don\u0027t\nalias, which implies \u0026__init_array_start !\u003d \u0026__init_array_end but that\u0027s\nnot true when the llvm.global_ctors or llvm.global_dtors are empty.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4335\nR\u003ddschuff@chromium.org, mseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1499023002 .\n"
    },
    {
      "commit": "53d3a6c8eb90dbf2ab3ed5bef0394e9b0107ae91",
      "tree": "7483f9c452f7eb7c5feefd1f5a2927b718c21ecf",
      "parents": [
        "c8fa431f503a3c69624a79a847b1c8b4a63f5232"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Feb 02 20:52:16 2016"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Feb 02 20:52:16 2016"
      },
      "message": "Auto-sandboxing: use ADDrr instead of ADDrsi when emitting ARM sandbox instrs\n\nAn ADDrsi op with a shift type of no_shift is equivalent to an ADDrr op;\nthe asm printer does not care about the distinction and prints it correctly\nbut the object file encoder asserts that the shift type of ADDrsi isn\u0027t\nno_shift. So create ADDrr when applicable.\n\nR\u003dphosek@chromium.org\n\nReview URL: https://codereview.chromium.org/1654333002 .\n"
    },
    {
      "commit": "c8fa431f503a3c69624a79a847b1c8b4a63f5232",
      "tree": "96c641d90d04f263732a28b9910acf8124d729cb",
      "parents": [
        "a7e65db52f80831dd4b5cdfa5e7d9b060f8d632d"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Mon Feb 01 20:07:15 2016"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Mon Feb 01 20:07:15 2016"
      },
      "message": "Auto-sandboxing: ignore instructions with no register memory operands\n\nThis is a generalization of the dmb part of ra7e65db5.\nSome instructions have the mayLoad/mayStore bits but no memory operands,\ne.g. DMB, or have expression operands (e.g. LDR with a label operand or\nADR). If there are no memory operands, or the memory operand is not a reg,\ndon\u0027t modify the instruction.\n\nR\u003dphosek@chromium.org, jfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1643023004 .\n"
    },
    {
      "commit": "a7e65db52f80831dd4b5cdfa5e7d9b060f8d632d",
      "tree": "24d8be96feadd9a7de116461189735d0d504058a",
      "parents": [
        "335826e8d5b5eff193edf6ac24b81e11f5b2ae08"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Fri Jan 29 16:51:33 2016"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Fri Jan 29 16:51:33 2016"
      },
      "message": "Auto-sandboxing: add support for a few missing ARM opcodes\n\nThis includes dmb, which counts as a memory operation but the\ninstruction has no memory operands, and v{ld,st}mia flavors, which were\njust left out of the switch table.\n\nR\u003dphosek@chromium.org, jfb@chromium.org\nBUG\u003dnone\n\nReview URL: https://codereview.chromium.org/1642253003 .\n"
    },
    {
      "commit": "335826e8d5b5eff193edf6ac24b81e11f5b2ae08",
      "tree": "7c43fd969883ada413aa42615f2bc1797272c352",
      "parents": [
        "5c198f0d07a696000675a4a89056ddaac2130b24"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Thu Jan 28 00:13:07 2016"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Thu Jan 28 00:13:07 2016"
      },
      "message": "LLVM. MC. Applies patch D16581.\n\nEnables eip-based addressing, e.g.,\n\nlea constant(%eip), %rax\nlea constant(%eip), %eax\n\nin llvm-mc, which is used in x32. EIP-base addressing is also valid in x86_64,\nit is left enabled for that architecture as well.\n\nhttp://reviews.llvm.org/D16581\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1636423002 .\n"
    },
    {
      "commit": "5c198f0d07a696000675a4a89056ddaac2130b24",
      "tree": "cb0ce686f6e9e1cf1e76aca66bf24bdc611d6dbe",
      "parents": [
        "265d5ce0075a068d9b91c2127b05f40da00a2237"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Jan 26 23:20:00 2016"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Tue Jan 26 23:20:00 2016"
      },
      "message": "Revert \"Enables eip-based addressing, e.g.,\"\n\nThis reverts commit 265d5ce0075a068d9b91c2127b05f40da00a2237.\nThe approach of messing with GPR32 is a bad idea, it turns out.\n\nR\u003djpp@chromium.org\n\nReview URL: https://codereview.chromium.org/1632383002 .\n"
    },
    {
      "commit": "265d5ce0075a068d9b91c2127b05f40da00a2237",
      "tree": "e5d6fab5eea173cc3b3a06ef75cda8551dbcf544",
      "parents": [
        "f957cdd06620d2a2437ed793065461464f37bfed"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Tue Jan 26 19:30:24 2016"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Tue Jan 26 19:30:24 2016"
      },
      "message": "Enables eip-based addressing, e.g.,\n\nlea constant(%eip), %rax\nlea constant(%eip), %eax\n\nin llvm-mc, which is used in x32. EIP-base addressing is also valid in x86_64,\nit is left enabled for that architecture as well.\n\nhttp://reviews.llvm.org/D16581\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1622013002 .\n"
    },
    {
      "commit": "f957cdd06620d2a2437ed793065461464f37bfed",
      "tree": "cb0ce686f6e9e1cf1e76aca66bf24bdc611d6dbe",
      "parents": [
        "dc6cf14836418baba3689c2a900f9eafbd23821e"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Tue Jan 26 19:26:47 2016"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Tue Jan 26 19:26:47 2016"
      },
      "message": "During some code size experimentation, I observed that ~0.25% of total code size was attributable to this problem. The bug predominantly affects CMP, but I saw a few instances where it affected the other arithmetic ops like ADD, AND, etc.\n\nI opted for this simple localized fix after considering other options that add new infrastructure to be able to tell from the MCFixup itself whether it needs to be relaxed. Note that I removed the mc-x86-disable-arith-relaxation flag, as I think it should no longer be necessary.\n\nBUG\u003d http://reviews.llvm.org/D10766\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1627673002 .\n"
    },
    {
      "commit": "dc6cf14836418baba3689c2a900f9eafbd23821e",
      "tree": "a291280f53d695f2c32216366d255df44280dd74",
      "parents": [
        "ca7596a9f4325d9df6fb5fbc2ac0ae33a426e6ca"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Jan 20 22:59:06 2016"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Jan 20 22:59:06 2016"
      },
      "message": "Fix PNaCl bitcode writer to always add types of elided pointers.\n\nThe problem was with the NaClValueEnumerator, and the way it collects\ntypes (used in the module). Previously, if a pointer cast instruction\nwas elided, it didn\u0027t add the type of the elided replacement for the\npointer cast.\n\nThe rationale for this was that the elided replacement was one of the\nvalues where types were already collected (instructions, parameters,\nglobals, etc.). However, this wasn\u0027t quite correct. If one casted\na literal (i.e. constant) to a pointer type, no type signature\nwas collected for the literal.\n\nThis code corrects this problem.\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4353\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1614493002 .\n"
    },
    {
      "commit": "ca7596a9f4325d9df6fb5fbc2ac0ae33a426e6ca",
      "tree": "810fc9b6f81fc57429dcb50559c7b7cc6c66f875",
      "parents": [
        "0ce9e28fdfd8860dec49ac8f7c14a3ac39673498"
      ],
      "author": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Jan 12 22:29:12 2016"
      },
      "committer": {
        "name": "Mark Seaborn",
        "email": "mseaborn@chromium.org",
        "time": "Tue Jan 12 22:29:12 2016"
      },
      "message": "PNaCl dynamic linking: Add initial ConvertToPSO pass, handling exports only\n\nThis is an initial version of a ConvertToPSO pass.  It builds arrays\nfor exported symbols\u0027 names and values, but no hash table yet, so\nlooking up an exported symbol currently requires a O(n)-time search.\n\nThe pass doesn\u0027t handle imported symbols yet.  I\u0027ll implement that in\na follow-on change.\n\nBUG\u003dhttps://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4351\nTEST\u003drun_pnacl_dynamic_loading_test_irt, in separate NaCl-side change\nR\u003dphosek@chromium.org\n\nReview URL: https://codereview.chromium.org/1523323006 .\n"
    },
    {
      "commit": "0ce9e28fdfd8860dec49ac8f7c14a3ac39673498",
      "tree": "38503657c03d22541918224107d04837719f9ffe",
      "parents": [
        "1ac309a8f4355b6c2fa6a192e45c18a91848f45d"
      ],
      "author": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Mon Dec 28 13:19:29 2015"
      },
      "committer": {
        "name": "Petar Jovanovic",
        "email": "petar.jovanovic@rt-rk.com",
        "time": "Mon Dec 28 13:19:29 2015"
      },
      "message": "[MIPS] get rid of calls to __nacl_read_tp\n\nGet rid of calls to __nacl_read_tp and always fetch the tp value as\nlw reg, 0($t8).\n\nBUG\u003d https://bugs.chromium.org/p/nativeclient/issues/detail?id\u003d4345\n\nReview URL: https://codereview.chromium.org/1531123003 .\n"
    },
    {
      "commit": "1ac309a8f4355b6c2fa6a192e45c18a91848f45d",
      "tree": "a046668ed5db01b69478e8579a04943b680a88b1",
      "parents": [
        "c6ec64696a50e2f8288dd38d3dec20b9b22260db"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Dec 18 00:58:28 2015"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Dec 18 00:58:28 2015"
      },
      "message": "LLVM. x32. Cherrypicks D12336.\n\nBUG\u003d\nR\u003dsehr@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1531363002 .\n"
    },
    {
      "commit": "c6ec64696a50e2f8288dd38d3dec20b9b22260db",
      "tree": "abc31b082ca779e31a007d0e09481e5389c208ff",
      "parents": [
        "f0a51e4a517c25e4022ef45e14ab4296c9b65469"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Dec 18 00:58:04 2015"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Dec 18 00:58:04 2015"
      },
      "message": "LLVM. x32. Cherrypicks D12111.\n\nBUG\u003d\nR\u003dsehr@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1538523003 .\n"
    },
    {
      "commit": "f0a51e4a517c25e4022ef45e14ab4296c9b65469",
      "tree": "144bb40e1ad791a40cb1511d1af97ee70553b6e9",
      "parents": [
        "baa63524b6b493ec2a6aa2c5193d9f25c0c33191"
      ],
      "author": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Dec 18 00:57:37 2015"
      },
      "committer": {
        "name": "John Porto",
        "email": "jpp@chromium.org",
        "time": "Fri Dec 18 00:57:37 2015"
      },
      "message": "LLVM. x32. Cherrypicks D12112.\n\nBUG\u003d\nR\u003dsehr@chromium.org, stichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1534773003 .\n"
    },
    {
      "commit": "baa63524b6b493ec2a6aa2c5193d9f25c0c33191",
      "tree": "affcfc54aa45a267a1f8fde2e248c580c9f22765",
      "parents": [
        "e37ffc2f0b48c8f900660f46c45c8a01f99d1d9b"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Tue Nov 03 01:40:40 2015"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Tue Nov 03 01:40:40 2015"
      },
      "message": "Enable DWARF EH on ARM for Non-SFI sandboxed translator\n\nWe already use DWARF exception handling on ARM for Non-SFI in standalone\ntranslator and we need to do the same for the sandboxed translator.\n\nBUG\u003d https://github.com/domokit/mojo/issues/396\nTEST\u003d toolchain_build/toolchain_build_pnacl.py --build-sbtc sandboxed_translators\nR\u003ddschuff@chromium.org, mseaborn@chromium.org\n\nReview URL: https://codereview.chromium.org/1427843002 .\n"
    },
    {
      "commit": "e37ffc2f0b48c8f900660f46c45c8a01f99d1d9b",
      "tree": "dc6dd6f758493e8608501c8b390f5d5725ac0406",
      "parents": [
        "3c7d0f73fab271f77fbb9e838d8128ce5cd4399e"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Sat Oct 17 05:51:16 2015"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Sat Oct 17 05:51:16 2015"
      },
      "message": "Support Non-SFI target architecture in sandboxed pnacl-llc\n\nWe need to set the target flags properly for Non-SFI architecture.\n\nBUG\u003d https://github.com/domokit/mojo/issues/396\nTEST\u003d toolchain_build/toolchain_build_pnacl.py --build-sbtc sandboxed_translators\nR\u003dmseaborn@chromium.org, dschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1396723002 .\n"
    },
    {
      "commit": "3c7d0f73fab271f77fbb9e838d8128ce5cd4399e",
      "tree": "00fa0d906cd5248553bd976763d5bf3adf7a9464",
      "parents": [
        "34a486fb5d797d475ea5f903f1d522eeea9991a1"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Oct 02 19:43:23 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Oct 02 19:43:23 2015"
      },
      "message": "Change from ::stdout to stderr when reporting fatal error.\n\nThe pnacl linux x86_64 buildbot doesn\u0027t understand ::stdout (it uses\na macro tod define stdout). Fix by removing :: prefix. Also redirects\nthe error messages to stderr instead of stdout.\n\nBUG\u003dNone\n\nReview URL: https://codereview.chromium.org/1380753007 .\n"
    },
    {
      "commit": "34a486fb5d797d475ea5f903f1d522eeea9991a1",
      "tree": "76eae81f0aebe7784d8823f0f1ac7bee6e109ed7",
      "parents": [
        "0126632b6acf6e9cd52a5486923d3ed78d3cd428"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Oct 02 17:53:41 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Oct 02 17:53:41 2015"
      },
      "message": "Remove dependence on header file unistd.h.\n\nFixes bug in function reportFatalErrorThenExitSuccess by using fwrite\ninstead of write (a unix posix include file not supported by MSC).\n\nBUG\u003dNone\n\nReview URL: https://codereview.chromium.org/1378773003 .\n"
    },
    {
      "commit": "0126632b6acf6e9cd52a5486923d3ed78d3cd428",
      "tree": "71ed73f4a7839107048e29ddf474b15001d25d9c",
      "parents": [
        "5a56683cf59a0c8aec5707790af16982244adbac"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Oct 01 21:26:07 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Oct 01 21:26:07 2015"
      },
      "message": "Add include files so that pnacl-llc can compile on MSC.\n\nA recent change to pnacl-llc was added to allow fatal errors to return\nexit status zero. However, this code called ::write (a C function) that\nis not defined on MSC.  Added includes to fix this problem.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1387443002 .\n"
    },
    {
      "commit": "5a56683cf59a0c8aec5707790af16982244adbac",
      "tree": "f8d7539455261d759d792da79a695c267fbdc2e5",
      "parents": [
        "a431b1ddfb282c056f82fe513a64d8909be6fdb7"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Sep 30 22:15:52 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Sep 30 22:15:52 2015"
      },
      "message": "Fix pnacl-bcdis to check alignments on global variables.\n\nMoves the alignment function used to check alignments in function blocks\nto the top-level parser, and then uses the same function to check\nalignment on global variables.\n\nAdds test to check that pnacl-bcdis correctly handles boundary case.\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d4329\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1368293008 .\n"
    },
    {
      "commit": "a431b1ddfb282c056f82fe513a64d8909be6fdb7",
      "tree": "c6607fd9ea89d52cd6874e745cbaa4faaa112559",
      "parents": [
        "616a5b1fbe5d67849dbde91d7a71c0974adeeb6e"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Sep 30 22:11:38 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Sep 30 22:11:38 2015"
      },
      "message": "Allow exiting with status zero in non-browser pnacl-llc\n\nAdd flag \u0027exit-success-on-fatal-error\u0027 that will exit with status zero when\nreport_fatal_error() is called. This is done so that afl-fuzz will not\ntreat such cases as crashes.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1377083004 .\n"
    },
    {
      "commit": "616a5b1fbe5d67849dbde91d7a71c0974adeeb6e",
      "tree": "fdb05a029e35ee548ed2d5afd8b38194a677e5f7",
      "parents": [
        "05c622b2733784456804f124f68121dd85df0f0c"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Sep 30 21:50:17 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Sep 30 21:50:17 2015"
      },
      "message": "Fix pnacl-bcdis to handle very large value indices.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1367693002 .\n"
    },
    {
      "commit": "05c622b2733784456804f124f68121dd85df0f0c",
      "tree": "741fbf95750daca663ce4787a426cc665d92c4a6",
      "parents": [
        "ab1ae10f4bb883c6358fcd4becdd21705a8f6401"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Sep 25 20:48:26 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Sep 25 20:48:26 2015"
      },
      "message": "Fix bug in pnacl-bcdis that didn\u0027t type check indirect call address.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1362983002 .\n"
    },
    {
      "commit": "ab1ae10f4bb883c6358fcd4becdd21705a8f6401",
      "tree": "30ca0e3fdfdab442aa0ff0db542b5cab061fc54f",
      "parents": [
        "a24cad25ddfa5ca9dd8664bb1c6593c5937e461d"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 24 21:51:16 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 24 21:51:16 2015"
      },
      "message": "Report if number basic blocks in function not expected in pnacl-bcdis.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1362073002 .\n"
    },
    {
      "commit": "a24cad25ddfa5ca9dd8664bb1c6593c5937e461d",
      "tree": "0c2064e12dc289543d696cb61ded0b58b7afd968",
      "parents": [
        "f53fdb0bb814fdb9aefae759a8b604173b491aee"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 24 21:36:35 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 24 21:36:35 2015"
      },
      "message": "Check that the symbol table block appears before function blocks.\n\nBUG\u003dNone\nR\u003dstichnot@chromium.org\n\nReview URL: https://codereview.chromium.org/1366683002 .\n"
    },
    {
      "commit": "f53fdb0bb814fdb9aefae759a8b604173b491aee",
      "tree": "27df3cc51ed8270ba75409a594d0c16acb1efe96",
      "parents": [
        "22c7f8d7acec7ec7901c31f5c579dacb2bd13d8c"
      ],
      "author": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Tue Sep 15 20:58:15 2015"
      },
      "committer": {
        "name": "Petr Hosek",
        "email": "phosek@chromium.org",
        "time": "Tue Sep 15 20:58:15 2015"
      },
      "message": "Filter out ExecutionEngine for translator build\n\nExecutionEngine shouldn\u0027t be build as a part of sandboxed translator.\n\nBUG\u003dnone\nTEST\u003dtoolchain trybots\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1344093003 .\n"
    },
    {
      "commit": "22c7f8d7acec7ec7901c31f5c579dacb2bd13d8c",
      "tree": "fd8421e643ab48377d7ecc07e6d764d359944cec",
      "parents": [
        "559643bc120c14f790c8e5039029d2b70ae9bbe7"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 03 19:50:46 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 03 19:50:46 2015"
      },
      "message": "Fix compilation issues in PNaCl bitcode reader for vs2013.\n\nFixes compilation issues when PNaCl bitcode is compiled using vs2013.\n\nThese changes follow emscripten patch https://github.com/kripken/emscripten-fastcomp/pull/115/files.\n\nThis patch removes optional, initialized, parameter from two function closures. Adds \u003cstdint.h\u003e to get type uint64_t. Removes unsupported usage of constexpr.\n\nBUG\u003dNone\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1306183006 .\n"
    },
    {
      "commit": "559643bc120c14f790c8e5039029d2b70ae9bbe7",
      "tree": "9688eb32bcf0789593ea03b62599fbc2ccbc67a0",
      "parents": [
        "91f9db5ac6b069656f3190fbd0c4d109f497ebb9"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 03 17:25:05 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Sep 03 17:25:05 2015"
      },
      "message": "Fix cmake build of NaClBitReader.\n\nCL https://codereview.chromium.org/1310883003 introduced breakage\ninto cmake builds of PNaCl tools, because of a new dependency on\nBitReader. This CL fixes that dependency.\n\nBUG\u003dNone\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1307943014 .\n"
    },
    {
      "commit": "91f9db5ac6b069656f3190fbd0c4d109f497ebb9",
      "tree": "90199d7e3c7b33f484278dbec26381e38b7d8068",
      "parents": [
        "82e50b3380dbca96b420871adfece3f64c5b3c21"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Aug 25 20:45:53 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Aug 25 20:45:53 2015"
      },
      "message": "Install notion of diagnostic handler into PNaCl bitcode readers.\n\nThere has been much divergence between the LLVM and PNaCl bitcode\nreaders.  Part of this has been due to incremental changes in upstream\nLLVM, that resulted in two different models of error handling.\n\nThe first change in upstream LLVM was a simplification of error\nmessages to a short list of error codes. When this was ported to\nPNaCl, a notion of \"verbose\" was added to keep more descriptive error\nmessages.\n\nThe second change in upstream LLVM was than to replace the error codes\nwith a call to a \"diagnostic handler function\" that took an error_code\nand an error message. The diagnostic handler function is responsable\nfor generating the corresponding error message and (optionally)\nstopping the program after generating the corresponding error.\n\nBy default, the LLVM bitcode parsers use the diagnostic handler\ndefined by the LLVM context of the module, which generates a\ncorresponding fatal error (terminating) the program.\n\nThe advantage of this second scheme can be seen for testing. In\ntesting, we want the test function to complete (rather than fatally\nterminate), so that the corresponding tests on the results can be\napplied. Hence, the diagnostic handler function (in such cases)\nrecords the diagnostics in a string stream, so that it can be\nextracted after the test completes. This latter form of diagnostic\nhandler supercedes the need for \"verbose\" arguments to bitcode\nparsers.\n\nThis patch changes the PNaCl bitcode readers to use a diagnostic\nhandler, instead of simple error_codes and a \"verbose\" argument to\nrecord error messages for testing.  To make redirecting diagnostic\nerror messages easier, the function redirectNaClDiagnosticToStream was\nadded.\n\nIn addition, to simplify testing, a \"stripErrorPrefix\" function was\nadded to some unit tests. This function removes the diagnostic\nsevevity prefix from the string containing error messages. This makes\ntests more stable in that they do not need to test severity levels,\nand the many variants of how severity is inserted.\n\nBUG\u003dNone\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1310883003 .\n"
    },
    {
      "commit": "82e50b3380dbca96b420871adfece3f64c5b3c21",
      "tree": "3ef57a06318677f4a45961044f272d7005d0ae72",
      "parents": [
        "fd91d18b9b7f4f9b6a37a11c6964d531978f7d67"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Aug 25 20:32:25 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Tue Aug 25 20:32:25 2015"
      },
      "message": "Fix PNaCl bitcode reader\u0027s handling of basic block vector.\n\nThe bitcode reader uses a vector to hold the sequence of blocks within\na function. Previously, on bitcode record FUNC_CODE_DECLAREBLOCKS, it\nwould resize the vector based on the bitcode parameter. However, it\ndoes not check if this number makes sense. For very large numbers, it\nwould cause the corresponding executable to hang while it tried to\nmeet an unreasable memory request.\n\nThis patch fixes this by not allowing the size to be any larger than\nthe number of bits defining the function (in the corresponding\nbitstream).\n\nBUG\u003d https://code.google.com/p/nativeclient/issues/detail?id\u003d4291\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1290793002 .\n"
    },
    {
      "commit": "fd91d18b9b7f4f9b6a37a11c6964d531978f7d67",
      "tree": "0b852cbc31858f774f6d613444811ac766f1309f",
      "parents": [
        "dc8ad7bc6d590aa26d03d4fd749aefb66b1d6d20"
      ],
      "author": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Tue Aug 25 19:22:56 2015"
      },
      "committer": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Tue Aug 25 19:22:56 2015"
      },
      "message": "Propagate function and function argument attributes to simplified functions. Do the same for call instructions.\nBitcast pointer arguments whose pointer element type changes due to promotion.\nBitcast functions that get simplified.\nBitcast constant instruction operands.\n\nR\u003djfb@chromium.org\nBUG\u003d\n\nReview URL: https://codereview.chromium.org/1269673008 .\n"
    },
    {
      "commit": "dc8ad7bc6d590aa26d03d4fd749aefb66b1d6d20",
      "tree": "6f027cf8f59ab24b02e638112dd66745a43d8131",
      "parents": [
        "d1b9ca2617011a63dda0fd86b1d836f7da09aacd"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Mon Aug 24 18:14:27 2015"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Mon Aug 24 18:14:27 2015"
      },
      "message": "Auto sandboxing: loads/stores for ARM\n\nImplemented expansions for LDR/STR and all the addressing\nmode variants. Also implemented expansions for LDM/STM, pld,\nand VFP/NEON stores.\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1277563004 .\n\nPatch from Dominick DiRenzo \u003cdominickd@google.com\u003e.\n"
    },
    {
      "commit": "d1b9ca2617011a63dda0fd86b1d836f7da09aacd",
      "tree": "37fe5b76f067aea0f7ffe017c6b0e8979ead9b1a",
      "parents": [
        "510766d08eef6c49b259a24fa8b5f6d6e7fa6071"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Aug 21 16:45:26 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Fri Aug 21 16:45:26 2015"
      },
      "message": "Clean up PNaCl bitcode reader.\n\nIn particular, it fixes issues raised by\nCL https://codereview.chromium.org/1290793002\n\nSee patch 6 of CL 1290793002 for issues fixed.\n\nBUG\u003dNone\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1293743003 .\n"
    },
    {
      "commit": "510766d08eef6c49b259a24fa8b5f6d6e7fa6071",
      "tree": "107ed1bfa58a763b7c67b535a4ef96689cd3e3d5",
      "parents": [
        "ccb99c336152c3225559d0c4a9b32bd402d27289"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Aug 20 18:31:51 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Aug 20 18:31:51 2015"
      },
      "message": "Fix handling errors in switch instruction by PNaCl bitcode reader.\n\nThe bitcode reader for the switch instruction has a couple of errors,\nwhich can cause asserts/crashes to occur. One problem was that it\ndidn\u0027t check if the branch block of a case was defined. The other\nproblem was that if an error occurred after the switch instruction was\ncreated, an assertion was fired for not deleting the switch\ninstruction.\n\nBUG\u003dNone\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1283353002 .\n"
    },
    {
      "commit": "ccb99c336152c3225559d0c4a9b32bd402d27289",
      "tree": "8f4651f42172eb5e0e6ac9b183ec735661352054",
      "parents": [
        "772c6a4afe7edca3612a8a4322fec8668c9e3382"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Aug 20 18:26:48 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Thu Aug 20 18:26:48 2015"
      },
      "message": "Fix llvm-dis to not crash on pnacl bitcode files with errors.\n\nThe previous code would crash when the pnacl bitcode file was\nerroneous. The example bad-dis-llvm.tbc contains an example where\nllvm-dis crashed. The crash was due to the code trying to print out a\ncorrupted module.\n\nThe fix was to terminate llvm-dis if an error occurred during parsing.\n\nBUG\u003dNone\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1286303002 .\n"
    },
    {
      "commit": "772c6a4afe7edca3612a8a4322fec8668c9e3382",
      "tree": "00508e26a92a5693f81df950e0efcc87ecd9f024",
      "parents": [
        "b99de0f0876bb0f8c91489de1f5f1de0f4855f3e"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Aug 19 18:06:01 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Aug 19 18:06:01 2015"
      },
      "message": "Check that number of defined basic blocks matches declared.\n\nThe previous PNaCl bitcode parser did not check whether the number of\ndeclared basic blocks matched the number of defined basic blocks. This\npatch generates an error if these numbers do not match.\n\nBUG\u003dNone\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1283323004 .\n"
    },
    {
      "commit": "b99de0f0876bb0f8c91489de1f5f1de0f4855f3e",
      "tree": "d26a2647a3c374ab3e2e8986b6a94d267b384a1f",
      "parents": [
        "37d99039d067f03386509c49beb349ba951708b3"
      ],
      "author": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Aug 19 17:58:35 2015"
      },
      "committer": {
        "name": "Karl Schimpf",
        "email": "kschimpf@google.com",
        "time": "Wed Aug 19 17:58:35 2015"
      },
      "message": "Merge NaClBitcodeReader.{h,cpp} into single file.\n\nThis CL is the start of modifying the PNaCl bitcode reader to\nmore closely match the LLVM bitcode reader. The first step was\nto combine NaClBitcodeReader.h and NaClBitcodeReader.cpp to match\nthe structure used in the LLVM bitcode parser.\n\nBUG\u003dNone\nR\u003djvoung@chromium.org\n\nReview URL: https://codereview.chromium.org/1293563002 .\n"
    },
    {
      "commit": "37d99039d067f03386509c49beb349ba951708b3",
      "tree": "a8ab971bc61e6f3050c2e283d38a231d110748a0",
      "parents": [
        "f9aa2db4660a545e53ac71e4020e833392e3991e"
      ],
      "author": {
        "name": "Aaron Gable",
        "email": "agable@chromium.org",
        "time": "Wed Aug 19 00:26:06 2015"
      },
      "committer": {
        "name": "Aaron Gable",
        "email": "agable@chromium.org",
        "time": "Wed Aug 19 00:26:06 2015"
      },
      "message": "Disable GitBranchCheck on commit presubmit\n\nR\u003dmseaborn@chromium.org, petermayo@chromium.org\nBUG\u003d522132\n\nReview URL: https://codereview.chromium.org/1296883005 .\n"
    },
    {
      "commit": "f9aa2db4660a545e53ac71e4020e833392e3991e",
      "tree": "fe4e819f0e7694fa1c04ea34f82b8e3813ae3fa9",
      "parents": [
        "ee289c455cb00d91a45e2339027500fb9d19635d"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Fri Aug 07 23:46:58 2015"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Fri Aug 07 23:46:58 2015"
      },
      "message": "Auto-sandboxing: Switch to automatic scratch register invalidation\n\nCurrently scratch registers are tracked as an explicit stack. Instead,\nuse a model where any number of scratch registers can be specified with\n.scratch, and they are automatically removed from the list when they\nare overwritten by user-written instructions.\n\nR\u003ddominickd@google.com\n\nReview URL: https://codereview.chromium.org/1274223003 .\n"
    },
    {
      "commit": "ee289c455cb00d91a45e2339027500fb9d19635d",
      "tree": "eaaa4be74096e55c96d2d89578456f126578fe33",
      "parents": [
        "3af9ed47fccff444dfc3ae34ce8a91a9ad5e6a2a"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Fri Aug 07 21:47:30 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Fri Aug 07 21:47:30 2015"
      },
      "message": "Auto sandboxing: Implemented general control flow for ARM\n\nImplemented ARM expansions for general modifications of PC except\nfor loads from memory, which will be handled in a separate cl.\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1276823002 .\n"
    },
    {
      "commit": "3af9ed47fccff444dfc3ae34ce8a91a9ad5e6a2a",
      "tree": "fb638a45026ebc582fe3d92ce460dc6b49d10323",
      "parents": [
        "b51041c83df3d84c7bbda6bfafbcae0ad0ef85c7"
      ],
      "author": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Fri Aug 07 21:44:18 2015"
      },
      "committer": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Fri Aug 07 21:44:18 2015"
      },
      "message": "Cherry-pick r241955 from upstream: [InstCombine] Actually combine AA metadata when replacing one load with another\n\nFixes PR24083\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241955 91177308-0d34-0410-b5e6-96231b3b80d8\n\nBUG\u003d\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1275853004 .\n"
    },
    {
      "commit": "b51041c83df3d84c7bbda6bfafbcae0ad0ef85c7",
      "tree": "9b2baee4f14f6ab9745d022c1c545e25b171c226",
      "parents": [
        "53904b2351503ac6137881354b548c47229d12c1"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Fri Aug 07 21:18:17 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Fri Aug 07 21:18:17 2015"
      },
      "message": "Auto sandboxing: ARM Stack maniuplations\n\nImplemented expansions for manipuliations of the stack pointer for ARM.\n\nR\u003ddschuff@chromium.org, jfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1277593005 .\n"
    },
    {
      "commit": "53904b2351503ac6137881354b548c47229d12c1",
      "tree": "a3853a23d98e6ad925b799aa7a527567df00e5d6",
      "parents": [
        "9fad30cda7dcbfef3beeb85322d038976dde4bbc"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Fri Aug 07 20:10:10 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Fri Aug 07 20:10:10 2015"
      },
      "message": "Added flag for auto sandboxing\n\nAdded flag to enable auto sandboxing, and updated the tests\nBUG\u003d\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1277783003 .\n"
    },
    {
      "commit": "9fad30cda7dcbfef3beeb85322d038976dde4bbc",
      "tree": "cd09b0d0d70e4d2af7bd8ce31ff05bdd9577e70a",
      "parents": [
        "cd1a7654caebc154acc328063176784abfbb64cd"
      ],
      "author": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Fri Aug 07 17:15:44 2015"
      },
      "committer": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Fri Aug 07 17:15:44 2015"
      },
      "message": "Cherry-pick r244229 from upstream: Fix an alignment error in `llvm::expandAtomicRMWToCmpXchg` without breaking the build where X86 isn\u0027t enabled.\n\nSummary: Divide the primitive size in bits by eight so the initial load\u0027s alignment is in bytes as expected. Tested with the included unit test.\n\nReviewers: rengolin, jfb\n\nSubscribers: llvm-commits\n\nDifferential Revision: http://reviews.llvm.org/D11804\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244229 91177308-0d34-0410-b5e6-96231b3b80d8\n\nBUG\u003d\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1276683006 .\n"
    },
    {
      "commit": "cd1a7654caebc154acc328063176784abfbb64cd",
      "tree": "3298112ea07c9c1ebfda00bbfad89be730169a49",
      "parents": [
        "3439ee8132c087b95c4d5347c232cefdfcd337b4"
      ],
      "author": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Fri Aug 07 15:54:38 2015"
      },
      "committer": {
        "name": "JF Bastien",
        "email": "jfb@chromium.org",
        "time": "Fri Aug 07 15:54:38 2015"
      },
      "message": "Cherry-pick r241886 from upstream: [InstCombine] Properly combine metadata when replacing a load with another\n\nNot doing this can lead to misoptimizations down the line, e.g. because\nof range metadata on the replacing load excluding values that are valid\nfor the load that is being replaced.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241886 91177308-0d34-0410-b5e6-96231b3b80d8\n\nBUG\u003d\nR\u003djfb@chromium.org\n\nReview URL: https://codereview.chromium.org/1281703002 .\n"
    },
    {
      "commit": "3439ee8132c087b95c4d5347c232cefdfcd337b4",
      "tree": "41ff9e1f33e2509e6810513fff36c9da7c66c68d",
      "parents": [
        "db0e8a7b7241d477df8307642251ac2f230e6154"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Thu Aug 06 22:07:06 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Thu Aug 06 22:07:06 2015"
      },
      "message": "Auto sandboxing: Removed ad-hoc approach to ARM condition codes\n\nReplaced ad hoc approach of accessing arm condition codes in\nMCInsts with more general mechanism from MCInstrDesc.\n\nRefactored indirect branching code to reflect these changes.\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1272783003 .\n"
    },
    {
      "commit": "db0e8a7b7241d477df8307642251ac2f230e6154",
      "tree": "74d098cb409065ade1b8f63934bcd26456034801",
      "parents": [
        "8ef7b82709fbe15006418cd63e4d6136d47b3142"
      ],
      "author": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Thu Aug 06 21:31:46 2015"
      },
      "committer": {
        "name": "Derek Schuff",
        "email": "dschuff@chromium.org",
        "time": "Thu Aug 06 21:31:46 2015"
      },
      "message": "Revert \"Cherry-pick r243297 from upstream: Fix `llvm-config` to emit the linker flag for the combined shared object built by autoconfig/make instead of the individual components.\"\n\nThis caused problems upstream, and it seems it also be doing so for\n`pnacl-llvm`. Revert until I finish fixing `llvm-config` upstream.\n\nThis reverts commit 53e80b9032f3ebb45ba97be5000004c58bfc9556.\n\nR\u003ddschuff@chromium.org, jfb@chromium.org\nBUG\u003d\n\nReview URL: https://codereview.chromium.org/1280813002 .\n"
    },
    {
      "commit": "8ef7b82709fbe15006418cd63e4d6136d47b3142",
      "tree": "f272c9c344514353253a2c818cc0c27c55656077",
      "parents": [
        "0fbe03c445d31163cbe1348d6bab962457918267"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 23:18:06 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 23:18:06 2015"
      },
      "message": "Auto sandboxing: branches and call for ARM\n\nImplemented expansions for indirect branch and call.\nAdded code to cooperate with the legacy pseudo-instruction\nexpansions in ARMMCNaCl.cpp\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1269273002 .\n"
    },
    {
      "commit": "0fbe03c445d31163cbe1348d6bab962457918267",
      "tree": "b1129a88e43b274cd1cae068d50b85e7bf4ad374",
      "parents": [
        "6c8ef8ba39bf87c82d6370a09a708fa387834237"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 23:04:37 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 23:04:37 2015"
      },
      "message": "Auto-sandboxing: x86-64 control flow expansions\n\nImplements indirect call/jump/return for 64-bit and adds tests\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1258083005 .\n"
    },
    {
      "commit": "6c8ef8ba39bf87c82d6370a09a708fa387834237",
      "tree": "923f64e1bf601dfb132f0ee2ce888e811b068876",
      "parents": [
        "7f5d8a3b07440f823a07c4a88df0eda97f6ceb66"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 22:54:07 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 22:54:07 2015"
      },
      "message": "Auto sandboxing: fixed bug with fp memory operations\n\nx87 instructions such as frstor and fsave were claiming to\nmodify %rsp if %rsp was the base register in the memory\noperand. This was changed so that if an instruction claims to\ndefine a register, we check that the first operand is\nactually a register, to eliminate the superfluous stack\nfixup.\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1275703005 .\n"
    },
    {
      "commit": "7f5d8a3b07440f823a07c4a88df0eda97f6ceb66",
      "tree": "b220454b887e9d7e7c81a1853e467d3c03750f3c",
      "parents": [
        "71506822912a39e79754e24d4b10f06b17b0276e"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 20:26:31 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 20:26:31 2015"
      },
      "message": "Added plumbing for ARMMCNaClExpander\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1272543002 .\n"
    },
    {
      "commit": "71506822912a39e79754e24d4b10f06b17b0276e",
      "tree": "943f585f15e870c7af3cad39fb9dfd1f7edaa44a",
      "parents": [
        "ebc14bfef07d3b383fd10bef4b6884f03730dca8"
      ],
      "author": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 18:31:40 2015"
      },
      "committer": {
        "name": "Dominick DiRenzo",
        "email": "dominickd@google.com",
        "time": "Wed Aug 05 18:31:40 2015"
      },
      "message": "Moved all autosandboxing tests to separate directory\n\nR\u003ddschuff@chromium.org\n\nReview URL: https://codereview.chromium.org/1269243002 .\n"
    }
  ],
  "next": "ebc14bfef07d3b383fd10bef4b6884f03730dca8"
}
