{"push_id":2493673825,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"bba339b11795d84da9c9d1473366ca561730c141","before":"8478f026e99e12ca53f519935d3a777a46f02cf3","commits":[{"sha":"bba339b11795d84da9c9d1473366ca561730c141","author":{"name":"Todd Lipcon","email":"2c763d726a8c2f6afda9be7e0e56a2caa6bb5e6b@apache.org"},"message":"Upgrade to LLVM/Clang 6.0.0\n\nThis patch contains various changes required to upgrade to LLVM 6:\n\nThirdparty build changes:\n- Bumped the actual version of LLVM and IWYU to 6.0.0 and 0.9\n  respectively.\n\n- Rejiggered the set of patches to apply:\n-- Recreated the amazon-linux toolchain support patch (same content,\n   just needed to be rebased)\n-- Removed \"fix-readability-redundant-declaration...\" patch which is now\n   incorporated upstream.\n-- Updated the existing IWYU patches slightly just to keep them\n   applying.\n-- Pulled in a patch from IWYU github to have it build against LLVM 6.\n\n- Along the way, updated the 'package-llvm.sh' script to include\n  packaging IWYU.\n\n- Changed the cmake invocation to disable the build of a bunch of tools\n  which are not really necessary in our use case. This sped up the build\n  a little bit.\n\n- Changed the sanitized LLVM library build to use the uninstrumented\n  'llvm-tblgen' tool from the already-built toolchain to speed it up a\n  bit.\n\n- Had to remove --nostdinc++ from the CXXFLAGS while building LLVM.\n  When it was being passed in CXXFLAGS, the LLVM CMake could would\n  end up seeing 'unused arguments' errors during its configuration\n  step and produce incorrect results. The new version of LLVM apparently\n  does not need this flag passed in the build.\n\n- Added a small patch to libunwind which fixed a crash in TSAN. See the\n  patch file header itself for details.\n\nCode changes:\n\n- A few trivial API changes in the codegen module.\n-- I verified that the resulting generated assembly is not larger than\n   the old assembly. In fact it seems to have shaved off a couple\n   instructions (CodegenTest.TestDumpMC lost two instructions)\n\n- Added the appropriate function attribute to disable frame pointer\n  elimination. This was apparently the default in previous releases\n  of LLVM but now needs to be set explicitly as a function attribute\n  on every function in the module. I verified that with this change\n  there is a 'push %rbp' and 'pop %rbp' in the machine code emitted\n  by CodegenTest.TestDumpMC, which matches the results with LLVM 4.\n\n- Added _ULx86_64_step to tsan-suppressions. This appears to be a\n  possible race which is caught by the new version of TSAN.\n\nChange-Id: I137180f0b167872d903d855282607bac17f92a83\nReviewed-on: http://gerrit.cloudera.org:8080/9898\nReviewed-by: Todd Lipcon <todd@apache.org>\nTested-by: Todd Lipcon <todd@apache.org>","distinct":true,"url":"https://api.github.com/repos/apache/kudu/commits/bba339b11795d84da9c9d1473366ca561730c141"}]}
{"actor":{"display_login":"asfgit"}}