SuccessChanges

Summary

  1. [OpenMP] Delete tests in openmp-offload.c which cuase failures until a better way to perform these tests is figured out. Change connected to diff: D29654
  2. Fixup for r310621: Hint the compilers about unreachable code.
  3. Add a getName accessor for ModuleMacros. Swift would like to be able to access the name of a ModuleMacro. There was some discussion of this in https://github.com/apple/swift-clang/pull/93, suggesting that it makes sense to have this accessor in Clang.
  4. Add .rc scripts tokenizer. This extends the shell of llvm-rc tool with the ability of tokenization of the input files. Currently, ASCII and ASCII-compatible UTF-8 files are supported. Thanks to Nico Weber (thakis) for his original work in this area. Differential Revision: https://reviews.llvm.org/D35957
  5. Add "Restored" flag to CalleeSavedInfo The liveness-tracking code assumes that the registers that were saved in the function's prolog are live outside of the function. Specifically, that registers that were saved are also live-on-exit from the function. This isn't always the case as illustrated by the LR register on ARM. Differential Revision: https://reviews.llvm.org/D36160
  6. Fixed a race condition in PrecompiledPreamble. Summary: Two PrecompiledPreambles, used in parallel on separate threads, could be writing preamble to the same temporary file. Reviewers: bkramer, krasimir, klimek Reviewed By: klimek Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D36529
  7. Place implictly declared functions at block scope Such implicitly declared functions behave as if the enclosing block contained the declaration extern int name() (C90, 6.3.3.2 Function calls), thus their names should have block scope (C90, 6.1.2.1 Scope of identifiers). This patch fixes https://bugs.llvm.org/show_bug.cgi?id=33224 Differential Revision: https://reviews.llvm.org/D33676
  8. [mips] Group all `-mabicalls` related checks in the single place. NFC
  9. [mips] Show warning in case of mixing -mlong-calls and -mabicalls options While we do not support `-mshared / -mno-shared` properly, show warning and ignore `-mlong-calls` option in case of implicitly or explicitly provided `-mabicalls` option. Differential revision: https://reviews.llvm.org/D36551
  10. [mips] Notify user that `-mabicalls` is ignored on non-PIC N64 ABI The -mabicalls option does not make sense in the case of non position independent code for the N64 ABI. After this change the driver shows a warning that -mabicalls is ignored in that case. Differential revision: https://reviews.llvm.org/D36550
  11. [InstCombine] add memcpy expansion tests with potential DL dependency; NFC Current behavior is to transform these independently of the datalayout. There's a proposal to change this in D35035: https://reviews.llvm.org/D35035
  12. [unittests] Adding a unittest for ChangeTaTargetIndex. NFC Differential Revision: https://reviews.llvm.org/D36565
  13. [Parse] Document PrintStats, SkipFunctionBodies Summary: Add documentation for `clang::ParseAST` parameters `PrintStats` and `SkipFunctionBodies`. Also, remove a tiny bit of trailing whitespace. Reviewers: craig.topper, doug.gregor, erikjv Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D36530
  14. [DAG] Rewrite expression. NFC.
  15. [CostModel][X86] Added v2f64/v2i64 single src shuffle model tests Fixed label checks for all prefixes
  16. [Modules] Prevent #import to reenter header if not building a module. When non-modular headers are imported while not building a module but in -fmodules mode, be conservative and preserve the default #import semantic: do not reenter headers. rdar://problem/33745031
  17. [X86] Keep dependencies when constructing loads in combineStore Summary: Preserve chain dependecies between old and new loads constructed to prevent loads from reordering below later stores. Fixes PR34088. Reviewers: craig.topper, spatel, RKSimon, efriedma Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36528
  18. [InstCombine] regenerate test checks; NFC
  19. [Hexagon] Use isMetaInstruction instead of isDebugValue
  20. [sanitizer-coverage] Change cmp instrumentation to distinguish const operands This implementation of SanitizerCoverage instrumentation inserts different callbacks depending on constantness of operands: 1. If both operands are non-const, then a usual __sanitizer_cov_trace_cmp[1248] call is inserted. 2. If exactly one operand is const, then a __sanitizer_cov_trace_const_cmp[1248] call is inserted. The first argument of the call is always the constant one. 3. If both operands are const, then no callback is inserted. This separation comes useful in fuzzing when tasks like "find one operand of the comparison in input arguments and replace it with the other one" have to be done. The new instrumentation allows us to not waste time on searching the constant operands in the input. Patch by Victor Chibotaru.
  21. [InstCombine] regenerate test checks, add comments; NFC
  22. [sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API Added declarations of __sanitizer_cov_trace_const_cmp[1248] callbacks. For more details, please see https://reviews.llvm.org/D36465. Patch by Victor Chibotaru.
  23. [NewGVN] Add CL option to control the generation of phi-of-ops (disable by default). Differential Revision: https://reviews.llvm.org/D36478539
  24. [SelectionDAG] Allow constant folding for implicitly truncating BUILD_VECTOR nodes. In FoldConstantArithmetic, handle BUILD_VECTOR nodes that do implicit truncation on the elements. This is similar to what is done in FoldConstantVectorArithmetic. Differential Revision: https://reviews.llvm.org/D36506
  25. [libFuzzer] Update LibFuzzer w.r.t. the new comparisons instrumentation API Added the _sanitizer_cov_trace_const_cmp[1248] callbacks. For now they are implemented the same way as _sanitizer_cov_trace_cmp[1248]. For more details, please see https://reviews.llvm.org/D36465. Patch by Victor Chibotaru.
  26. [CMake][LLVM] Remove duplicated library mask. Broken clang linking against clangShared Summary: The `LLVM${c}Info` mask is listed twice in LLVM-Config.cmake. This results in the libraries such as LLVMARMInfo, LLVMAArch4Info, etc appearing twice in `extract_symbols.py` command line while building `clangShared`. `Extract_symbols.py` does not work well in such a case and completely ignores the symbols from the duplicated libraries. Thus, the LLVM(...)Info symbols do not get exported from `clangShared` and linking clang against it fails with unresolved dependencies. Seems to be a mere copy-paste mistake. Reviewers: beanz, chapuni Reviewed By: chapuni Subscribers: chapuni, aemerson, mgorny, kristof.beyls, llvm-commits, asl Differential Revision: https://reviews.llvm.org/D36119
  27. [clang-tidy] Add integer division check Patch by: Reka Nikolett Kovacs Differential Revision: https://reviews.llvm.org/D35932
  28. [compiler-rt][ARM] Fix filtering of ARM targets Summary: Similarly to i686, the ARM build target has multiple names, such as armhf, armv7 and so on. Currently we get duplicated symbol definitions for these targets while compiling the library. Each duplicated definition has its generic version from `lib/builtins` and an ARM-specialized version from `lib/builtins/arm`. This patch fixes filtering for ARM to ignore the generic definitions if they have their ARM specializations. Reviewers: compnerd Reviewed By: compnerd Subscribers: aemerson, dberris, llvm-commits, mgorny, asl, kristof.beyls Differential Revision: https://reviews.llvm.org/D35336
  29. [clang-tidy] Updated docs and release notes for r310584
  30. [clang-tidy] Add a test.
  31. [clang-tidy] Enable test for http://llvm.org/PR26228
  32. [clang-tidy] Add modernize-use-emplace.IgnoreImplicitConstructors option
  33. [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 2. The original patch was an improvement to IR ValueTracking on non-negative integers. It has been checked in to trunk (D18777, r284022). But was disabled by default due to performance regressions. Perf impact has improved. The patch would be enabled by default. Reviewers: reames, hfinkel Differential Revision: https://reviews.llvm.org/D34101 Patch by: Olga Chupina <olga.chupina@intel.com>
  34. [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 1. The original patch was an improvement to IR ValueTracking on non-negative integers. It has been checked in to trunk (D18777, r284022). But was disabled by default due to performance regressions. Perf impact has improved. The patch would be enabled by default. Reviewers: reames, hfinkel Differential Revision: https://reviews.llvm.org/D34101 Patch by: Olga Chupina <olga.chupina@intel.com>
  35. Revert r310489 and follow-up commits r310505, r310519, r310537 and r310549 Commit r310489 caused 'openmp-offload.c' test failures on Darwin and other platforms: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/39230/testReport/junit/Clang/Driver/openmp_offload_c/ The follow-up commits tried to fix the test, but the test is still failing.
  36. [mips][microMIPS] Extending size reduction pass with XOR16 Author: milena.vujosevic.janicic Reviewers: sdardis The patch extends size reduction pass for MicroMIPS. XOR instruction is transformed into 16-bit instruction XOR16, if possible. Differential Revision: https://reviews.llvm.org/D34239
  37. [clang-tidy] Fix an error in the doc.
  38. [clang-tidy] add forwarders in the aliased checks from hicpp module Summary: Adds redirections notes and the actual redirections in the documentation for hicpp Patch by: Jonas Toth Reviewers: aaron.ballman, hokein, alexfh Reviewed By: aaron.ballman, hokein Subscribers: JDevlieghere, xazax.hun Differential Revision: https://reviews.llvm.org/D36355
  39. [Lexer] Finding beginning of token with escaped new line Summary: Lexer::GetBeginningOfToken produced invalid location when backtracking across escaped new lines. This fixes PR26228 Reviewers: akyrtzi, alexfh, rsmith, doug.gregor Reviewed By: alexfh Subscribers: alexfh, cfe-commits Patch by Paweł Żukowski! Differential Revision: https://reviews.llvm.org/D30748
  40. [AArch64] Assembler support for v8.3 RCpc Added assembler and disassembler support for the new Release Consistent processor consistent instructions, introduced with ARM v8.3-A for AArch64. Differential Revision: https://reviews.llvm.org/D36522
  41. [ARM][AArch64] ARMv8.3-A enablement The beta ARMv8.3 ISA specifications have been released for AArch64 and AArch32, these can be found at: https://developer.arm.com/products/architecture/a-profile/exploration-tools An introduction to this architecture update can be found at: https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions This patch is the first in a series which will add ARM v8.3-A support in LLVM and Clang. It adds the necessary changes that create targets for both the ARM and AArch64 backends. Differential Revision: https://reviews.llvm.org/D36514
  42. [clang-tidy] Fix a check-fixes line
  43. [clang-tidy] Minor documentation improvement Patch by: Lilla Barancsuk
  44. [clang-tidy] Add missing doc in cppcoreguidelines-c-copy-assignment-signature check.
  45. Enable running 'lnt runtest test-suite' instead of 'lnt runtest nt'. A typical configuration for a builder using this to track performance of code generated by LLVM could be: { 'name': "builder-name", 'slavenames': ["slave-name"], 'builddir': "builder-builddir", 'factory': ClangBuilder.getClangCMakeBuildFactory( jobs=8, clean=False, checkout_compiler_rt=False, checkout_lld=False, test=False, useTwoStage=False, runTestSuite=True, env={'PATH':'/usr/lib/ccache:/usr/local/sbin:'+ '/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'}, testsuite_flags=['--cppflags', '-O3', '--threads=1', '--build-threads=8', '--use-perf=all', '--run-under', 'taskset -c 1', '--benchmarking-only', '--exec-multisample=3', '--exclude-stat-from-submission=compile'], extra_cmake_args=["-DLLVM_TARGETS_TO_BUILD='AArch64'", "-DLLVM_PARALLEL_LINK_JOBS=4"], submitURL='http://lnt.llvm.org/submitRun', testerName='LNT-AArch64-O3'), 'category': 'clang' } The only difference to using the somewhat deprecated 'lnt runtest nt' is that a "testsuite_flags" parameter is defined instead of an "nt_flags" parameter. Differential Revision: https://reviews.llvm.org/D35402
  46. [SelectionDAG] When scalarizing vselect, don't assert on a legal cond operand. When scalarizing the result of a vselect, the legalizer currently expects to already have scalarized the operands. While this is true for the true/false operands (which have the same type as the result), it is not case for the condition operand. On X86 AVX512, v1i1 is legal - this leads to operations such as '< N x type> vselect < N x i1> < N x type> < N x type>' where < N x type > is illegal to hit an assertion during the scalarization. The handling is similar to r205625. This also exposes the fact that (v1i1 extract_subvector) should be legal and selectable on AVX512 - We do this by custom lowering to vector_extract_elt. This still leaves us in some cases with redundant dag nodes which will be combined in a separate soon to come patch. This fixes pr33349. Differential revision: https://reviews.llvm.org/D36511
  47. Revert part of r310296 to make it really NFC for instrumentation PGO. Summary: Part of r310296 will disable PGOIndirectCallPromotion in ThinLTO backend if PGOOpt is None. However, as PGOOpt is not passed down to ThinLTO backend for instrumentation based PGO, that change would actually disable ICP entirely in ThinLTO backend, making it behave differently in instrumentation PGO mode. This change reverts that change, and only disable ICP there when it is SamplePGO. Reviewers: davidxl Reviewed By: davidxl Subscribers: sanjoy, mehdi_amini, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D36566
  48. [OpenMP] Provide a default GPU arch that is supported by the underlying hardware. This fixes a bug triggered by diff: D29660
  49. [Driver] Search compiler-rt paths in -print-file-name= This makes it possible to print the name of compiler-rt libraries by using simply clang -print-file-name=libclang_rt.${runtime}-${arch}.so same as other libraries, without having to know the details of the resource directory organization. Differential Revision: https://reviews.llvm.org/D35820
  50. [LCG] Fix an assert in a on-scope-exit lambda that checked the contents of the returned value. Checking the returned value from inside of a scoped exit isn't actually valid. It happens to work when NRVO fires and the stars align, which they reliably do with Clang but don't, for example, on MSVC builds.
  51. [LVI] Fix LVI compile time regression around constantFoldUser() Summary: Avoid checking each operand and calling getValueFromCondition() before calling constantFoldUser() when the instruction type isn't supported by constantFoldUser(). This fixes a large compile time regression in an internal build. Reviewers: sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36552
  52. [clang-format] let PointerAlignment dictate spacing of function ref qualifiers Summary: The original changes for ref qualifiers in rL272537 and rL272548 allowed function const+ref qualifier spacing to diverge from the spacing used for variables. It seems more consistent for `T const& x;` to match `void foo() const&;`. Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D34324
  53. Linker: Create a function declaration when moving a non-prevailing alias of function type. We were previously creating a global variable of function type, which is invalid IR. This issue was exposed by r304690, in which we started asserting that global variables were of a valid type. Fixes PR33462. Differential Revision: https://reviews.llvm.org/D36438
  54. [InstSimplify] Add test cases that show that simplifySelectWithICmpCond doesn't work with non-canonical comparisons.
  55. [AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC).
  56. Remove unused function
  57. clang-format: Fix bug with ENAS_DontAlign and empty lines This fixes a bug in `ENAS_DontAlign` (introduced in D32733) where blank lines had an EscapedNewlineColumn of 0, causing a subtraction to overflow when converted back to unsigned and leading to runaway memory allocation. Differential Revision: https://reviews.llvm.org/D36019
  58. [OpenMP] Remove offending test. Diff: D29660
  59. Fix thinlto cache key computation for cfi-icall. Summary: Fixed PR33966. CFI code generation for users (not just callers) of a function depends on whether this function has a jumptable entry or not. This information needs to be encoded in of thinlto cache key. We filter the jumptable list against functions that are actually referenced in the current module. Subscribers: mehdi_amini, inglorion, eraman, hiraditya Differential Revision: https://reviews.llvm.org/D36346
  60. ARM: Fix CMP_SWAP expansion Clean up after my misguided attempt in r304267 to "fix" CMP_SWAP returning an uninitialized status value. - I was always using tMOVi8 to zero the status register which cannot encode higher register numbers and llvm would silently miscompile) - Nobody was ever looking at that status value outside the expansion. ARMDAGToDAGISel::SelectCMP_SWAP() the only place creating CMP_SWAP instructions was not mapping anything to it. (The cmpxchg status value from llvm IR is lowered to a manual comparison after the CMP_SWAP) So this: - Renames the register from "status" to "temp" it make it obvious that it isn't used outside the expansion. - Remove the zeroing status/temp register. - Keep the live-in list improvements from r304267 Fixes http://llvm.org/PR34056
  61. LangRef: Fix/improve cmpxchg wording
Revision 310625 by gbercea:
[OpenMP] Delete tests in openmp-offload.c which cuase failures
until a better way to perform these tests is figured out.

Change connected to diff: D29654
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.cppclang.src/lib/Driver/ToolChains/Cuda.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.hclang.src/lib/Driver/ToolChains/Cuda.h
The file was modified/cfe/trunk/test/Driver/openmp-offload.cclang.src/test/Driver/openmp-offload.c
Revision 310623 by mnbvmar:
Fixup for r310621: Hint the compilers about unreachable code.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-rc/ResourceScriptToken.cppllvm.src/tools/llvm-rc/ResourceScriptToken.cpp
Revision 310622 by Bob Wilson:
Add a getName accessor for ModuleMacros.

Swift would like to be able to access the name of a ModuleMacro.
There was some discussion of this in
https://github.com/apple/swift-clang/pull/93, suggesting that it makes
sense to have this accessor in Clang.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Lex/MacroInfo.hclang.src/include/clang/Lex/MacroInfo.h
Revision 310621 by mnbvmar:
Add .rc scripts tokenizer.

This extends the shell of llvm-rc tool with the ability of tokenization
of the input files. Currently, ASCII and ASCII-compatible UTF-8 files
are supported.

Thanks to Nico Weber (thakis) for his original work in this area.

Differential Revision: https://reviews.llvm.org/D35957
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-rc/Inputsllvm.src/test/tools/llvm-rc/Inputs
The file was added/llvm/trunk/test/tools/llvm-rc/Inputs/tokens.rcllvm.src/test/tools/llvm-rc/Inputs/tokens.rc
The file was added/llvm/trunk/test/tools/llvm-rc/tokenizer.testllvm.src/test/tools/llvm-rc/tokenizer.test
The file was modified/llvm/trunk/tools/llvm-rc/CMakeLists.txtllvm.src/tools/llvm-rc/CMakeLists.txt
The file was added/llvm/trunk/tools/llvm-rc/ResourceScriptToken.cppllvm.src/tools/llvm-rc/ResourceScriptToken.cpp
The file was added/llvm/trunk/tools/llvm-rc/ResourceScriptToken.hllvm.src/tools/llvm-rc/ResourceScriptToken.h
The file was added/llvm/trunk/tools/llvm-rc/ResourceScriptTokenList.hllvm.src/tools/llvm-rc/ResourceScriptTokenList.h
The file was modified/llvm/trunk/tools/llvm-rc/llvm-rc.cppllvm.src/tools/llvm-rc/llvm-rc.cpp
Revision 310619 by kparzysz:
Add "Restored" flag to CalleeSavedInfo

The liveness-tracking code assumes that the registers that were saved
in the function's prolog are live outside of the function. Specifically,
that registers that were saved are also live-on-exit from the function.
This isn't always the case as illustrated by the LR register on ARM.

Differential Revision: https://reviews.llvm.org/D36160
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/MachineFrameInfo.hllvm.src/include/llvm/CodeGen/MachineFrameInfo.h
The file was modified/llvm/trunk/include/llvm/Target/TargetFrameLowering.hllvm.src/include/llvm/Target/TargetFrameLowering.h
The file was modified/llvm/trunk/lib/CodeGen/LivePhysRegs.cppllvm.src/lib/CodeGen/LivePhysRegs.cpp
The file was modified/llvm/trunk/lib/CodeGen/PrologEpilogInserter.cppllvm.src/lib/CodeGen/PrologEpilogInserter.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.cppllvm.src/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64FrameLowering.hllvm.src/lib/Target/AArch64/AArch64FrameLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.cppllvm.src/lib/Target/ARM/ARMFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMFrameLowering.hllvm.src/lib/Target/ARM/ARMFrameLowering.h
The file was modified/llvm/trunk/lib/Target/ARM/Thumb1FrameLowering.cppllvm.src/lib/Target/ARM/Thumb1FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/Thumb1FrameLowering.hllvm.src/lib/Target/ARM/Thumb1FrameLowering.h
The file was modified/llvm/trunk/lib/Target/AVR/AVRFrameLowering.cppllvm.src/lib/Target/AVR/AVRFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AVR/AVRFrameLowering.hllvm.src/lib/Target/AVR/AVRFrameLowering.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonFrameLowering.hllvm.src/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430FrameLowering.cppllvm.src/lib/Target/MSP430/MSP430FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/MSP430/MSP430FrameLowering.hllvm.src/lib/Target/MSP430/MSP430FrameLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/Mips16FrameLowering.cppllvm.src/lib/Target/Mips/Mips16FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Mips16FrameLowering.hllvm.src/lib/Target/Mips/Mips16FrameLowering.h
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCFrameLowering.cppllvm.src/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCFrameLowering.hllvm.src/lib/Target/PowerPC/PPCFrameLowering.h
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.cppllvm.src/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/SystemZ/SystemZFrameLowering.hllvm.src/lib/Target/SystemZ/SystemZFrameLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86FrameLowering.cppllvm.src/lib/Target/X86/X86FrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86FrameLowering.hllvm.src/lib/Target/X86/X86FrameLowering.h
The file was modified/llvm/trunk/lib/Target/XCore/XCoreFrameLowering.cppllvm.src/lib/Target/XCore/XCoreFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/XCore/XCoreFrameLowering.hllvm.src/lib/Target/XCore/XCoreFrameLowering.h
Revision 310618 by ibiryukov:
Fixed a race condition in PrecompiledPreamble.

Summary:
Two PrecompiledPreambles, used in parallel on separate threads,
could be writing preamble to the same temporary file.

Reviewers: bkramer, krasimir, klimek

Reviewed By: klimek

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D36529
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Frontend/PrecompiledPreamble.cppclang.src/lib/Frontend/PrecompiledPreamble.cpp
Revision 310616 by chill:
Place implictly declared functions at block scope

Such implicitly declared functions behave as if the enclosing block
contained the declaration extern int name() (C90, 6.3.3.2 Function calls),
thus their names should have block scope (C90, 6.1.2.1 Scope of identifiers).

This patch fixes https://bugs.llvm.org/show_bug.cgi?id=33224

Differential Revision: https://reviews.llvm.org/D33676
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Sema/Scope.hclang.src/include/clang/Sema/Scope.h
The file was modified/cfe/trunk/lib/Parse/ParseCXXInlineMethods.cppclang.src/lib/Parse/ParseCXXInlineMethods.cpp
The file was modified/cfe/trunk/lib/Parse/ParseDecl.cppclang.src/lib/Parse/ParseDecl.cpp
The file was modified/cfe/trunk/lib/Parse/ParseExpr.cppclang.src/lib/Parse/ParseExpr.cpp
The file was modified/cfe/trunk/lib/Parse/ParseExprCXX.cppclang.src/lib/Parse/ParseExprCXX.cpp
The file was modified/cfe/trunk/lib/Parse/ParseObjc.cppclang.src/lib/Parse/ParseObjc.cpp
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cppclang.src/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/lib/Parse/ParsePragma.cppclang.src/lib/Parse/ParsePragma.cpp
The file was modified/cfe/trunk/lib/Parse/ParseStmt.cppclang.src/lib/Parse/ParseStmt.cpp
The file was modified/cfe/trunk/lib/Parse/ParseTemplate.cppclang.src/lib/Parse/ParseTemplate.cpp
The file was modified/cfe/trunk/lib/Parse/Parser.cppclang.src/lib/Parse/Parser.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDecl.cppclang.src/lib/Sema/SemaDecl.cpp
The file was added/cfe/trunk/test/Sema/implicit-decl-c90.cclang.src/test/Sema/implicit-decl-c90.c
The file was modified/cfe/trunk/test/Sema/implicit-decl.cclang.src/test/Sema/implicit-decl.c
Revision 310615 by atanasyan:
[mips] Group all `-mabicalls` related checks in the single place. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Driver/mips-abicalls-warning.cclang.src/test/Driver/mips-abicalls-warning.c
The file was removed/cfe/trunk/test/Driver/mips-longcalls-warning.cclang.src/test/Driver/mips-longcalls-warning.c
Revision 310614 by atanasyan:
[mips] Show warning in case of mixing -mlong-calls and -mabicalls options

While we do not support `-mshared / -mno-shared` properly, show warning
and ignore `-mlong-calls` option in case of implicitly or explicitly
provided `-mabicalls` option.

Differential revision: https://reviews.llvm.org/D36551
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.tdclang.src/include/clang/Basic/DiagnosticDriverKinds.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cppclang.src/lib/Driver/ToolChains/Arch/Mips.cpp
The file was modified/cfe/trunk/test/Driver/mips-features.cclang.src/test/Driver/mips-features.c
The file was added/cfe/trunk/test/Driver/mips-longcalls-warning.cclang.src/test/Driver/mips-longcalls-warning.c
Revision 310613 by atanasyan:
[mips] Notify user that `-mabicalls` is ignored on non-PIC N64 ABI

The -mabicalls option does not make sense in the case of non position
independent code for the N64 ABI. After this change the driver shows a
warning that -mabicalls is ignored in that case.

Differential revision: https://reviews.llvm.org/D36550
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.tdclang.src/include/clang/Basic/DiagnosticDriverKinds.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cppclang.src/lib/Driver/ToolChains/Arch/Mips.cpp
The file was added/cfe/trunk/test/Driver/mips-abicalls-warning.cclang.src/test/Driver/mips-abicalls-warning.c
The file was modified/cfe/trunk/test/Driver/mips-features.cclang.src/test/Driver/mips-features.c
Revision 310611 by spatel:
[InstCombine] add memcpy expansion tests with potential DL dependency; NFC

Current behavior is to transform these independently of the datalayout.

There's a proposal to change this in D35035:
https://reviews.llvm.org/D35035
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/memcpy-to-load.llllvm.src/test/Transforms/InstCombine/memcpy-to-load.ll
Revision 310610 by mggm:
[unittests] Adding a unittest for ChangeTaTargetIndex. NFC

Differential Revision: https://reviews.llvm.org/D36565
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CodeGen/CMakeLists.txtllvm.src/unittests/CodeGen/CMakeLists.txt
The file was added/llvm/trunk/unittests/CodeGen/MachineOperandTest.cppllvm.src/unittests/CodeGen/MachineOperandTest.cpp
Revision 310609 by modocache:
[Parse] Document PrintStats, SkipFunctionBodies

Summary:
Add documentation for `clang::ParseAST` parameters `PrintStats` and
`SkipFunctionBodies`. Also, remove a tiny bit of trailing whitespace.

Reviewers: craig.topper, doug.gregor, erikjv

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D36530
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Parse/ParseAST.hclang.src/include/clang/Parse/ParseAST.h
Revision 310608 by niravd:
[DAG] Rewrite expression. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cppllvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Revision 310606 by rksimon:
[CostModel][X86] Added v2f64/v2i64 single src shuffle model tests

Fixed label checks for all prefixes
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/shuffle-single-src.llllvm.src/test/Analysis/CostModel/X86/shuffle-single-src.ll
Revision 310605 by Bruno Lopes:
[Modules] Prevent #import to reenter header if not building a module.

When non-modular headers are imported while not building a module but
in -fmodules mode, be conservative and preserve the default #import
semantic: do not reenter headers.

rdar://problem/33745031
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Lex/HeaderSearch.cppclang.src/lib/Lex/HeaderSearch.cpp
The file was added/cfe/trunk/test/Modules/Inputs/import-textual/x.hclang.src/test/Modules/Inputs/import-textual/x.h
The file was added/cfe/trunk/test/Modules/import-textual-nomodules.mclang.src/test/Modules/import-textual-nomodules.m
Revision 310604 by niravd:
[X86] Keep dependencies when constructing loads in combineStore

Summary:
Preserve chain dependecies between old and new loads constructed to
prevent loads from reordering below later stores.

Fixes PR34088.

Reviewers: craig.topper, spatel, RKSimon, efriedma

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36528
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SelectionDAG.hllvm.src/include/llvm/CodeGen/SelectionDAG.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cppllvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was added/llvm/trunk/test/CodeGen/X86/pr34088.llllvm.src/test/CodeGen/X86/pr34088.ll
Revision 310603 by spatel:
[InstCombine] regenerate test checks; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/memcpy-1.llllvm.src/test/Transforms/InstCombine/memcpy-1.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/memcpy-2.llllvm.src/test/Transforms/InstCombine/memcpy-2.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/memcpy-to-load.llllvm.src/test/Transforms/InstCombine/memcpy-to-load.ll
Revision 310601 by kparzysz:
[Hexagon] Use isMetaInstruction instead of isDebugValue
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonCopyToCombine.cppllvm.src/lib/Target/Hexagon/HexagonCopyToCombine.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonEarlyIfConv.cppllvm.src/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonFixupHwLoops.cppllvm.src/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
Revision 310600 by glider:
[sanitizer-coverage] Change cmp instrumentation to distinguish const operands

This implementation of SanitizerCoverage instrumentation inserts different
callbacks depending on constantness of operands:

  1. If both operands are non-const, then a usual
     __sanitizer_cov_trace_cmp[1248] call is inserted.
  2. If exactly one operand is const, then a
     __sanitizer_cov_trace_const_cmp[1248] call is inserted. The first
     argument of the call is always the constant one.
  3. If both operands are const, then no callback is inserted.

This separation comes useful in fuzzing when tasks like "find one operand
of the comparison in input arguments and replace it with the other one"
have to be done. The new instrumentation allows us to not waste time on
searching the constant operands in the input.

Patch by Victor Chibotaru.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/SanitizerCoverage.rstclang.src/docs/SanitizerCoverage.rst
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/SanitizerCoverage.cppllvm.src/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was added/llvm/trunk/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.llllvm.src/test/Instrumentation/SanitizerCoverage/const-cmp-tracing.ll
Revision 310598 by spatel:
[InstCombine] regenerate test checks, add comments; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstCombine/memcpy.llllvm.src/test/Transforms/InstCombine/memcpy.ll
Revision 310596 by glider:
[sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API

Added declarations of __sanitizer_cov_trace_const_cmp[1248] callbacks.
For more details, please see https://reviews.llvm.org/D36465.

Patch by Victor Chibotaru.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_fuchsia.cccompiler-rt.src/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_interface.inccompiler-rt.src/lib/sanitizer_common/sanitizer_coverage_interface.inc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cccompiler-rt.src/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc
The file was modified/compiler-rt/trunk/lib/sanitizer_common/sanitizer_interface_internal.hcompiler-rt.src/lib/sanitizer_common/sanitizer_interface_internal.h
Revision 310594 by mcrosier:
[NewGVN] Add CL option to control the generation of phi-of-ops (disable by default).

Differential Revision: https://reviews.llvm.org/D36478539
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/NewGVN.cppllvm.src/lib/Transforms/Scalar/NewGVN.cpp
The file was modified/llvm/trunk/test/Transforms/NewGVN/completeness.llllvm.src/test/Transforms/NewGVN/completeness.ll
The file was modified/llvm/trunk/test/Transforms/NewGVN/pr33461.llllvm.src/test/Transforms/NewGVN/pr33461.ll
The file was modified/llvm/trunk/test/Transforms/NewGVN/storeoverstore.llllvm.src/test/Transforms/NewGVN/storeoverstore.ll
Revision 310593 by guyblank:
[SelectionDAG] Allow constant folding for implicitly truncating BUILD_VECTOR nodes.

In FoldConstantArithmetic, handle BUILD_VECTOR nodes that do implicit truncation on the elements.

This is similar to what is done in FoldConstantVectorArithmetic.

Differential Revision:
https://reviews.llvm.org/D36506
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cppllvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/avx512-intrinsics.llllvm.src/test/CodeGen/X86/avx512-intrinsics.ll
Revision 310592 by glider:
[libFuzzer] Update LibFuzzer w.r.t. the new comparisons instrumentation API

Added the _sanitizer_cov_trace_const_cmp[1248] callbacks.
For now they are implemented the same way as _sanitizer_cov_trace_cmp[1248].
For more details, please see https://reviews.llvm.org/D36465.

Patch by Victor Chibotaru.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Fuzzer/FuzzerTracePC.cppllvm.src/lib/Fuzzer/FuzzerTracePC.cpp
Revision 310590 by oleg:
[CMake][LLVM] Remove duplicated library mask. Broken clang linking against clangShared

Summary:
The `LLVM${c}Info` mask is listed twice in LLVM-Config.cmake. This results in the libraries such as LLVMARMInfo, LLVMAArch4Info, etc appearing twice in `extract_symbols.py` command line while building `clangShared`. `Extract_symbols.py` does not work well in such a case and completely ignores the symbols from the duplicated libraries. Thus, the LLVM(...)Info symbols do not get exported from `clangShared` and linking clang against it fails with unresolved dependencies.

Seems to be a mere copy-paste mistake.

Reviewers: beanz, chapuni

Reviewed By: chapuni

Subscribers: chapuni, aemerson, mgorny, kristof.beyls, llvm-commits, asl

Differential Revision: https://reviews.llvm.org/D36119
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/LLVM-Config.cmakellvm.src/cmake/modules/LLVM-Config.cmake
Revision 310589 by xazax:
[clang-tidy] Add integer division check

Patch by: Reka Nikolett Kovacs

Differential Revision: https://reviews.llvm.org/D35932
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/bugprone/BugproneTidyModule.cppclang-tools-extra.src/clang-tidy/bugprone/BugproneTidyModule.cpp
The file was modified/clang-tools-extra/trunk/clang-tidy/bugprone/CMakeLists.txtclang-tools-extra.src/clang-tidy/bugprone/CMakeLists.txt
The file was added/clang-tools-extra/trunk/clang-tidy/bugprone/IntegerDivisionCheck.cppclang-tools-extra.src/clang-tidy/bugprone/IntegerDivisionCheck.cpp
The file was added/clang-tools-extra/trunk/clang-tidy/bugprone/IntegerDivisionCheck.hclang-tools-extra.src/clang-tidy/bugprone/IntegerDivisionCheck.h
The file was modified/clang-tools-extra/trunk/docs/ReleaseNotes.rstclang-tools-extra.src/docs/ReleaseNotes.rst
The file was added/clang-tools-extra/trunk/docs/clang-tidy/checks/bugprone-integer-division.rstclang-tools-extra.src/docs/clang-tidy/checks/bugprone-integer-division.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rstclang-tools-extra.src/docs/clang-tidy/checks/list.rst
The file was added/clang-tools-extra/trunk/test/clang-tidy/bugprone-integer-division.cppclang-tools-extra.src/test/clang-tidy/bugprone-integer-division.cpp
Revision 310588 by oleg:
[compiler-rt][ARM] Fix filtering of ARM targets

Summary:
Similarly to i686, the ARM build target has multiple names, such as armhf, armv7 and so on. Currently we get duplicated symbol definitions for these targets while compiling the library. Each duplicated definition has its generic version from `lib/builtins` and an ARM-specialized version from `lib/builtins/arm`.

This patch fixes filtering for ARM to ignore the generic definitions if they have their ARM specializations.

Reviewers: compnerd

Reviewed By: compnerd

Subscribers: aemerson, dberris, llvm-commits, mgorny, asl, kristof.beyls

Differential Revision: https://reviews.llvm.org/D35336
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/builtins/CMakeLists.txtcompiler-rt.src/lib/builtins/CMakeLists.txt
Revision 310587 by alexfh:
[clang-tidy] Updated docs and release notes for r310584
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/docs/ReleaseNotes.rstclang-tools-extra.src/docs/ReleaseNotes.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/modernize-use-emplace.rstclang-tools-extra.src/docs/clang-tidy/checks/modernize-use-emplace.rst
Revision 310586 by alexfh:
[clang-tidy] Add a test.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/unittests/clang-tidy/ReadabilityModuleTest.cppclang-tools-extra.src/unittests/clang-tidy/ReadabilityModuleTest.cpp
Revision 310585 by alexfh:
[clang-tidy] Enable test for http://llvm.org/PR26228
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/test/clang-tidy/readability-braces-around-statements.cppclang-tools-extra.src/test/clang-tidy/readability-braces-around-statements.cpp
Revision 310584 by alexfh:
[clang-tidy] Add modernize-use-emplace.IgnoreImplicitConstructors option
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clang-tidy/modernize/UseEmplaceCheck.cppclang-tools-extra.src/clang-tidy/modernize/UseEmplaceCheck.cpp
The file was modified/clang-tools-extra/trunk/clang-tidy/modernize/UseEmplaceCheck.hclang-tools-extra.src/clang-tidy/modernize/UseEmplaceCheck.h
The file was added/clang-tools-extra/trunk/test/clang-tidy/modernize-use-emplace-ignore-implicit-constructors.cppclang-tools-extra.src/test/clang-tidy/modernize-use-emplace-ignore-implicit-constructors.cpp
Revision 310583 by n.bozhenov:
[ValueTracking] Enabling ValueTracking patch by default (recommit). Part 2.

The original patch was an improvement to IR ValueTracking on non-negative
integers. It has been checked in to trunk (D18777, r284022). But was disabled by
default due to performance regressions.
Perf impact has improved. The patch would be enabled by default.

Reviewers: reames, hfinkel

Differential Revision: https://reviews.llvm.org/D34101

Patch by: Olga Chupina <olga.chupina@intel.com>
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ValueTracking.cppllvm.src/lib/Analysis/ValueTracking.cpp
The file was added/llvm/trunk/test/Analysis/ValueTracking/non-negative-phi-bits.llllvm.src/test/Analysis/ValueTracking/non-negative-phi-bits.ll
Revision 310582 by n.bozhenov:
[ValueTracking] Enabling ValueTracking patch by default (recommit). Part 1.

The original patch was an improvement to IR ValueTracking on non-negative
integers. It has been checked in to trunk (D18777, r284022). But was disabled by
default due to performance regressions.
Perf impact has improved. The patch would be enabled by default.

Reviewers: reames, hfinkel

Differential Revision: https://reviews.llvm.org/D34101

Patch by: Olga Chupina <olga.chupina@intel.com>
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Frontend/optimization-remark-options.cclang.src/test/Frontend/optimization-remark-options.c
Revision 310580 by arphaman:
Revert r310489 and follow-up commits r310505, r310519, r310537 and r310549

Commit r310489 caused 'openmp-offload.c' test failures on Darwin and other
platforms:
http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/39230/testReport/junit/Clang/Driver/openmp_offload_c/

The follow-up commits tried to fix the test, but the test is still failing.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Options.tdclang.src/include/clang/Driver/Options.td
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.cppclang.src/lib/Driver/ToolChains/Cuda.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.hclang.src/lib/Driver/ToolChains/Cuda.h
The file was modified/cfe/trunk/test/Driver/openmp-offload.cclang.src/test/Driver/openmp-offload.c
Revision 310579 by zjovanovic:
[mips][microMIPS] Extending size reduction pass with XOR16
Author: milena.vujosevic.janicic
Reviewers: sdardis
The patch extends size reduction pass for MicroMIPS.
XOR instruction is transformed into 16-bit instruction XOR16, if possible.
Differential Revision: https://reviews.llvm.org/D34239
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/MicroMipsSizeReduction.cppllvm.src/lib/Target/Mips/MicroMipsSizeReduction.cpp
The file was added/llvm/trunk/test/CodeGen/Mips/micromips-sizereduction/micromips-xor16.llllvm.src/test/CodeGen/Mips/micromips-sizereduction/micromips-xor16.ll
Revision 310578 by hokein:
[clang-tidy] Fix an error in the doc.
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rstclang-tools-extra.src/docs/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst
Revision 310577 by hokein:
[clang-tidy] add forwarders in the aliased checks from hicpp module

Summary: Adds redirections notes and the actual redirections in the documentation for hicpp

Patch by: Jonas Toth

Reviewers: aaron.ballman, hokein, alexfh

Reviewed By: aaron.ballman, hokein

Subscribers: JDevlieghere, xazax.hun

Differential Revision: https://reviews.llvm.org/D36355
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-explicit-conversions.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-explicit-conversions.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-function-size.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-function-size.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-invalid-access-moved.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-invalid-access-moved.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-member-init.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-member-init.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-named-parameter.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-named-parameter.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-new-delete-operators.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-new-delete-operators.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-noexcept-move.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-noexcept-move.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-special-member-functions.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-special-member-functions.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-undelegated-constructor.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-undelegated-constructor.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-use-equals-default.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-use-equals-default.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-use-equals-delete.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-use-equals-delete.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/hicpp-use-override.rstclang-tools-extra.src/docs/clang-tidy/checks/hicpp-use-override.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rstclang-tools-extra.src/docs/clang-tidy/checks/list.rst
Revision 310576 by alexfh:
[Lexer] Finding beginning of token with escaped new line

Summary:
Lexer::GetBeginningOfToken produced invalid location when
backtracking across escaped new lines.

This fixes PR26228

Reviewers: akyrtzi, alexfh, rsmith, doug.gregor

Reviewed By: alexfh

Subscribers: alexfh, cfe-commits

Patch by Paweł Żukowski!

Differential Revision: https://reviews.llvm.org/D30748
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Lex/Lexer.hclang.src/include/clang/Lex/Lexer.h
The file was modified/cfe/trunk/lib/Lex/Lexer.cppclang.src/lib/Lex/Lexer.cpp
The file was modified/cfe/trunk/unittests/Lex/LexerTest.cppclang.src/unittests/Lex/LexerTest.cpp
Revision 310575 by sam_parker:
[AArch64] Assembler support for v8.3 RCpc

Added assembler and disassembler support for the new Release
Consistent processor consistent instructions, introduced with ARM
v8.3-A for AArch64.

Differential Revision: https://reviews.llvm.org/D36522
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.tdllvm.src/lib/Target/AArch64/AArch64.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrFormats.tdllvm.src/lib/Target/AArch64/AArch64InstrFormats.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.tdllvm.src/lib/Target/AArch64/AArch64InstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.hllvm.src/lib/Target/AArch64/AArch64Subtarget.h
The file was added/llvm/trunk/test/MC/AArch64/armv8.3a-rcpc.sllvm.src/test/MC/AArch64/armv8.3a-rcpc.s
The file was added/llvm/trunk/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txtllvm.src/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
Revision 310561 by sam_parker:
[ARM][AArch64] ARMv8.3-A enablement

The beta ARMv8.3 ISA specifications have been released for AArch64
and AArch32, these can be found at:
https://developer.arm.com/products/architecture/a-profile/exploration-tools

An introduction to this architecture update can be found at:
https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions

This patch is the first in a series which will add ARM v8.3-A support
in LLVM and Clang. It adds the necessary changes that create targets
for both the ARM and AArch64 backends.

Differential Revision: https://reviews.llvm.org/D36514
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/Triple.hllvm.src/include/llvm/ADT/Triple.h
The file was modified/llvm/trunk/include/llvm/Support/AArch64TargetParser.defllvm.src/include/llvm/Support/AArch64TargetParser.def
The file was modified/llvm/trunk/include/llvm/Support/ARMTargetParser.defllvm.src/include/llvm/Support/ARMTargetParser.def
The file was modified/llvm/trunk/lib/Support/TargetParser.cppllvm.src/lib/Support/TargetParser.cpp
The file was modified/llvm/trunk/lib/Support/Triple.cppllvm.src/lib/Support/Triple.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64.tdllvm.src/lib/Target/AArch64/AArch64.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.tdllvm.src/lib/Target/AArch64/AArch64InstrInfo.td
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.hllvm.src/lib/Target/AArch64/AArch64Subtarget.h
The file was modified/llvm/trunk/lib/Target/ARM/ARM.tdllvm.src/lib/Target/ARM/ARM.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.tdllvm.src/lib/Target/ARM/ARMInstrInfo.td
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.hllvm.src/lib/Target/ARM/ARMSubtarget.h
Revision 310560 by xazax:
[clang-tidy] Fix a check-fixes line
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/test/clang-tidy/readability-static-accessed-through-instance.cppclang-tools-extra.src/test/clang-tidy/readability-static-accessed-through-instance.cpp
Revision 310559 by xazax:
[clang-tidy] Minor documentation improvement

Patch by: Lilla Barancsuk
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/readability-static-accessed-through-instance.rstclang-tools-extra.src/docs/clang-tidy/checks/readability-static-accessed-through-instance.rst
The file was modified/clang-tools-extra/trunk/test/clang-tidy/readability-static-accessed-through-instance.cppclang-tools-extra.src/test/clang-tidy/readability-static-accessed-through-instance.cpp
Revision 310558 by hokein:
[clang-tidy] Add missing doc in cppcoreguidelines-c-copy-assignment-signature check.
Change TypePath in RepositoryPath in Workspace
The file was added/clang-tools-extra/trunk/docs/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rstclang-tools-extra.src/docs/clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature.rst
The file was modified/clang-tools-extra/trunk/docs/clang-tidy/checks/list.rstclang-tools-extra.src/docs/clang-tidy/checks/list.rst
Revision 310557 by kbeyls:
Enable running 'lnt runtest test-suite' instead of 'lnt runtest nt'.

A typical configuration for a builder using this to track performance
of code generated by LLVM could be:

{
    'name': "builder-name",
    'slavenames': ["slave-name"],
    'builddir': "builder-builddir",
    'factory': ClangBuilder.getClangCMakeBuildFactory(
                  jobs=8,
                  clean=False,
                  checkout_compiler_rt=False,
                  checkout_lld=False,
                  test=False,
                  useTwoStage=False,
                  runTestSuite=True,
                  env={'PATH':'/usr/lib/ccache:/usr/local/sbin:'+
                              '/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
                  testsuite_flags=['--cppflags', '-O3',
                                   '--threads=1',
                                   '--build-threads=8',
                                   '--use-perf=all',
                                   '--run-under', 'taskset -c 1',
                                   '--benchmarking-only',
                                   '--exec-multisample=3',
                                   '--exclude-stat-from-submission=compile'],
                  extra_cmake_args=["-DLLVM_TARGETS_TO_BUILD='AArch64'",
                                    "-DLLVM_PARALLEL_LINK_JOBS=4"],
                  submitURL='http://lnt.llvm.org/submitRun',
                  testerName='LNT-AArch64-O3'),
    'category': 'clang'
}

The only difference to using the somewhat deprecated 'lnt runtest nt'
is that a "testsuite_flags" parameter is defined instead of an
"nt_flags" parameter.

Differential Revision: https://reviews.llvm.org/D35402
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/ClangBuilder.pyzorg/zorg/buildbot/builders/ClangBuilder.py
Revision 310552 by eladcohen:
[SelectionDAG] When scalarizing vselect, don't assert on
a legal cond operand.

When scalarizing the result of a vselect, the legalizer currently expects
to already have scalarized the operands. While this is true for the true/false
operands (which have the same type as the result), it is not case for the
condition operand. On X86 AVX512, v1i1 is legal - this leads to operations such
as '< N x type> vselect < N x i1> < N x type> < N x type>' where < N x type > is
illegal to hit an assertion during the scalarization.

The handling is similar to r205625.
This also exposes the fact that (v1i1 extract_subvector) should be legal
and selectable on AVX512 - We do this by custom lowering to vector_extract_elt.
This still leaves us in some cases with redundant dag nodes which will be
combined in a separate soon to come patch.

This fixes pr33349.

Differential revision: https://reviews.llvm.org/D36511
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cppllvm.src/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was added/llvm/trunk/test/CodeGen/X86/pr33349.llllvm.src/test/CodeGen/X86/pr33349.ll
Revision 310550 by dehao:
Revert part of r310296 to make it really NFC for instrumentation PGO.

Summary: Part of r310296 will disable PGOIndirectCallPromotion in ThinLTO backend if PGOOpt is None. However, as PGOOpt is not passed down to ThinLTO backend for instrumentation based PGO, that change would actually disable ICP entirely in ThinLTO backend, making it behave differently in instrumentation PGO mode. This change reverts that change, and only disable ICP there when it is SamplePGO.

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: sanjoy, mehdi_amini, eraman, llvm-commits

Differential Revision: https://reviews.llvm.org/D36566
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cppllvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/test/Other/new-pm-thinlto-defaults.llllvm.src/test/Other/new-pm-thinlto-defaults.ll
Revision 310549 by gbercea:
[OpenMP] Provide a default GPU arch that is supported by
the underlying hardware.

This fixes a bug triggered by diff: D29660
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.cppclang.src/lib/Driver/ToolChains/Cuda.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Cuda.hclang.src/lib/Driver/ToolChains/Cuda.h
Revision 310548 by phosek:
[Driver] Search compiler-rt paths in -print-file-name=

This makes it possible to print the name of compiler-rt libraries
by using simply clang -print-file-name=libclang_rt.${runtime}-${arch}.so
same as other libraries, without having to know the details of the
resource directory organization.

Differential Revision: https://reviews.llvm.org/D35820
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/ToolChain.hclang.src/include/clang/Driver/ToolChain.h
The file was modified/cfe/trunk/lib/Driver/Driver.cppclang.src/lib/Driver/Driver.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChain.cppclang.src/lib/Driver/ToolChain.cpp
Revision 310547 by chandlerc:
[LCG] Fix an assert in a on-scope-exit lambda that checked the contents
of the returned value.

Checking the returned value from inside of a scoped exit isn't actually
valid. It happens to work when NRVO fires and the stars align, which
they reliably do with Clang but don't, for example, on MSVC builds.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LazyCallGraph.cppllvm.src/lib/Analysis/LazyCallGraph.cpp
Revision 310545 by yamauchi:
[LVI] Fix LVI compile time regression around constantFoldUser()

Summary:
Avoid checking each operand and calling getValueFromCondition() before calling
constantFoldUser() when the instruction type isn't supported by
constantFoldUser().

This fixes a large compile time regression in an internal build.

Reviewers: sanjoy

Reviewed By: sanjoy

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36552
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LazyValueInfo.cppllvm.src/lib/Analysis/LazyValueInfo.cpp
Revision 310544 by jtbandes:
[clang-format] let PointerAlignment dictate spacing of function ref qualifiers

Summary: The original changes for ref qualifiers in rL272537 and rL272548 allowed function const+ref qualifier spacing to diverge from the spacing used for variables. It seems more consistent for `T const& x;` to match `void foo() const&;`.

Reviewers: djasper

Reviewed By: djasper

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D34324
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/TokenAnnotator.cppclang.src/lib/Format/TokenAnnotator.cpp
The file was modified/cfe/trunk/unittests/Format/FormatTest.cppclang.src/unittests/Format/FormatTest.cpp
Revision 310543 by pcc:
Linker: Create a function declaration when moving a non-prevailing alias of function type.

We were previously creating a global variable of function type,
which is invalid IR. This issue was exposed by r304690, in which we
started asserting that global variables were of a valid type.

Fixes PR33462.

Differential Revision: https://reviews.llvm.org/D36438
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Linker/IRMover.cppllvm.src/lib/Linker/IRMover.cpp
The file was added/llvm/trunk/test/LTO/Resolution/X86/function-alias-non-prevailing.llllvm.src/test/LTO/Resolution/X86/function-alias-non-prevailing.ll
Revision 310542 by ctopper:
[InstSimplify] Add test cases that show that simplifySelectWithICmpCond doesn't work with non-canonical comparisons.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cppllvm.src/lib/Analysis/InstructionSimplify.cpp
The file was modified/llvm/trunk/test/Transforms/InstSimplify/select.llllvm.src/test/Transforms/InstSimplify/select.ll
Revision 310541 by eugenezelenko:
[AMDGPU] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cppllvm.src/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cppllvm.src/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cppllvm.src/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.hllvm.src/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNIterativeScheduler.cppllvm.src/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNIterativeScheduler.hllvm.src/lib/Target/AMDGPU/GCNIterativeScheduler.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNRegPressure.cppllvm.src/lib/Target/AMDGPU/GCNRegPressure.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNRegPressure.hllvm.src/lib/Target/AMDGPU/GCNRegPressure.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600ControlFlowFinalizer.cppllvm.src/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cppllvm.src/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cppllvm.src/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIMemoryLegalizer.cppllvm.src/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cppllvm.src/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.hllvm.src/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.h
Revision 310540 by arsenm:
Remove unused function
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/TargetInfo.cppclang.src/lib/CodeGen/TargetInfo.cpp
Revision 310539 by jtbandes:
clang-format: Fix bug with ENAS_DontAlign and empty lines

This fixes a bug in `ENAS_DontAlign` (introduced in D32733) where blank lines had an EscapedNewlineColumn of 0, causing a subtraction to overflow when converted back to unsigned and leading to runaway memory allocation.

Differential Revision: https://reviews.llvm.org/D36019
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Format/WhitespaceManager.cppclang.src/lib/Format/WhitespaceManager.cpp
The file was modified/cfe/trunk/lib/Format/WhitespaceManager.hclang.src/lib/Format/WhitespaceManager.h
The file was modified/cfe/trunk/unittests/Format/FormatTest.cppclang.src/unittests/Format/FormatTest.cpp
Revision 310537 by gbercea:
[OpenMP] Remove offending test.

Diff: D29660
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Driver/openmp-offload.cclang.src/test/Driver/openmp-offload.c
Revision 310536 by eugenis:
Fix thinlto cache key computation for cfi-icall.

Summary:
Fixed PR33966.

CFI code generation for users (not just callers) of a function depends
on whether this function has a jumptable entry or not. This
information needs to be encoded in of thinlto cache key.

We filter the jumptable list against functions that are actually
referenced in the current module.

Subscribers: mehdi_amini, inglorion, eraman, hiraditya

Differential Revision: https://reviews.llvm.org/D36346
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/LTO/LTO.cppllvm.src/lib/LTO/LTO.cpp
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/cache-icall.llllvm.src/test/ThinLTO/X86/Inputs/cache-icall.ll
The file was added/llvm/trunk/test/ThinLTO/X86/cache-icall.llllvm.src/test/ThinLTO/X86/cache-icall.ll
Revision 310534 by matze:
ARM: Fix CMP_SWAP expansion

Clean up after my misguided attempt in r304267 to "fix" CMP_SWAP
returning an uninitialized status value.

- I was always using tMOVi8 to zero the status register which cannot
  encode higher register numbers and llvm would silently miscompile)

- Nobody was ever looking at that status value outside the expansion.
  ARMDAGToDAGISel::SelectCMP_SWAP() the only place creating CMP_SWAP
  instructions was not mapping anything to it. (The cmpxchg status value
  from llvm IR is lowered to a manual comparison after the CMP_SWAP)

So this:
- Renames the register from "status" to "temp" it make it obvious that
  it isn't used outside the expansion.
- Remove the zeroing status/temp register.
- Keep the live-in list improvements from r304267

Fixes http://llvm.org/PR34056
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cppllvm.src/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstrInfo.tdllvm.src/lib/Target/ARM/ARMInstrInfo.td
The file was modified/llvm/trunk/test/CodeGen/ARM/cmpxchg-O0.llllvm.src/test/CodeGen/ARM/cmpxchg-O0.ll
Revision 310533 by matze:
LangRef: Fix/improve cmpxchg wording
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/LangRef.rstllvm.src/docs/LangRef.rst