FailedChanges

Summary

  1. Fix modular build issues caused by BitCodes.h Consolidate llvm::BWH_* statics into an enum to fix module build issues. This fixes the LLVM_Bitcode module, getting rid of -Wmodules-ambiguous-internal-linkage. Differential Revision: https://reviews.llvm.org/D64469
  2. [ubsan][test] Restore float-divide-by-zero test Removed by rCTE365307 to fix buildbots. It can be restored now because D64317/rC365587 brought back -fsanitize=float-divide-by-zero
  3. [analyzer] CastValueChecker: Remove a dump() Summary: Fix a nit.
  4. [X86] Limit getTargetConstantFromNode to only work on NormalLoads not extending loads. This seems to fix a failure reported by Jordan Rupprecht, but we don't have a reduced test case yet.
  5. [Support] Move llvm::MemoryBuffer to sys::fs::file_t Summary: On Windows, Posix integer file descriptors are a compatibility layer over native file handles provided by the C runtime. There is a hard limit on the maximum number of file descriptors that a process can open, and the limit is 8192. LLD typically doesn't run into this limit because it opens input files, maps them into memory, and then immediately closes the file descriptor. This prevents it from running out of FDs. For various reasons, I'd like to open handles to every input file and keep them open during linking. That requires migrating MemoryBuffer over to taking open native file handles instead of integer FDs. Reviewers: aganea, Bigcheese Reviewed By: aganea Subscribers: smeenai, silvas, mehdi_amini, hiraditya, steven_wu, dexonsmith, dang, llvm-commits, zturner Tags: #llvm Differential Revision: https://reviews.llvm.org/D63453
  6. [Driver] Add float-divide-by-zero back to supported sanitizers after D63793/rC365272 D63793 removed float-divide-by-zero from the "undefined" set but it failed to add it to getSupportedSanitizers(), thus the sanitizer is rejected by the driver: clang-9: error: unsupported option '-fsanitize=float-divide-by-zero' for target 'x86_64-unknown-linux-gnu' Also, add SanitizerMask::FloatDivideByZero to a few other masks to make -fsanitize-trap, -fsanitize-recover, -fsanitize-minimal-runtime and -fsanitize-coverage work. Reviewed By: rsmith, vitalybuka Differential Revision: https://reviews.llvm.org/D64317
  7. AMDGPU/GlobalISel: Add support for wide loads >= 256-bits Summary: This adds support for the most commonly used wide load types: <8xi32>, <16xi32>, <4xi64>, and <8xi64> Reviewers: arsenm Reviewed By: arsenm Subscribers: hiraditya, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, dstuttard, tpr, t-tye, volkan, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57399
  8. [analyzer] CastValueChecker: Model casts Summary: It models the LLVM casts: - `cast<>` - `dyn_cast<>` - `cast_or_null<>` - `dyn_cast_or_null<>` It has a very basic support without checking the `classof()` function. (It reapplies the reverted 'llvm-svn: 365582' patch with proper test file.) Reviewed By: NoQ Tags: #clang Differential Revision: https://reviews.llvm.org/D64374
  9. Revert "[analyzer] CastValueChecker: Model casts" This reverts commit 27cf6664437efd640bb6db5594bafcce68fa2854.
  10. GlobalISel: Implement lower for G_FCOPYSIGN In SelectionDAG AMDGPU treated these as legal, but this was mostly because the bitcasts required for FP types were painful. Theoretically the bitpattern should eventually match to bfi, so don't bother trying to get the patterns to import.
  11. [analyzer] CastValueChecker: Model casts Summary: It models the LLVM casts: - `cast<>` - `dyn_cast<>` - `cast_or_null<>` - `dyn_cast_or_null<>` It has a very basic support without checking the `classof()` function. Reviewed By: NoQ Tags: #clang Differential Revision: https://reviews.llvm.org/D64374
  12. Revert [clang] DirectoryWatcher This reverts r365574 (git commit 31babea94a3ed38a140540f2252cf043dacec1f7)
  13. [Bitcode] Explicitly include Bitstream/BitCodes.h and BitstreamWriter.h This fixes a modules issue.
  14. [MS] Treat ignored explicit calling conventions as an explicit __cdecl The CCCR_Ignore action is only used for Microsoft calling conventions, mainly because MSVC does not warn when a calling convention would be ignored by the current target. This behavior is actually somewhat important, since windows.h uses WINAPI (which expands to __stdcall) widely. This distinction didn't matter much before the introduction of __vectorcall to x64 and the ability to make that the default calling convention with /Gv. Now, we can't just ignore __stdcall for x64, we have to treat it as an explicit __cdecl annotation. Fixes PR42531
  15. [docs][Remarks] Add documentation for remarks in LLVM This adds documentation that describes remarks in LLVM. It aims at explaining what remarks are, how to enable them, and what users can do with the different modes. It lists all the available flags in LLVM (excluding clang), and describes the expected YAML structure as well as the tools that support the YAML format today. Differential Revision: https://reviews.llvm.org/D64355
  16. [X86] Don't form extloads in combineExtInVec unless the load extension is legal. This should prevent doing this on pre-sse4.1 targets or for 256 bit vectors without avx2. I don't know of a failure from this. Op legalization will probably take care of, but seemed better to be safe.
  17. [clangd] fix assert in test after r365531. Unverified because CMake/ninja seems to be broken...
  18. AMDGPU/GlobalISel: Fix legality for G_BUILD_VECTOR
  19. [clang] DirectoryWatcher Asynchronously monitors specified directory for changes and passes notifications to provided callback. Dependency for index-while-building. Differential Revision: https://reviews.llvm.org/D58418
  20. [AMDGPU] gfx908 v_pk_fmac_f16 support Differential Revision: https://reviews.llvm.org/D64433
  21. gn build: Merge r365536.
  22. gn build: Merge r365532.
  23. gn build: Merge r365541.
  24. gn build: Merge r365531.
  25. Add lldb type unit support to the release notes Reviewers: JDevlieghere, teemperor Subscribers: llvm-commits, lldb-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64366
  26. GlobalISel: Combine unmerge of merge with intermediate cast This eliminates some illegal intermediate vectors when operations are scalarized.
  27. [Profile] Support raw/indexed profiles larger than 4GB rdar://45955976
  28. [llvm-objdump] Keep warning for --disassemble-functions in correct order. relative to normal output when dumping archive files. prepare for PR35351. Reviewers: jhenderson, grimar, MaskRay, rupprecht Reviewed by: MaskRay, jhenderson Differential Revision: https://reviews.llvm.org/D64165
  29. [AMDGPU] gfx908 mAI instructions, MC part Differential Revision: https://reviews.llvm.org/D64446
  30. build: use multiple `install` rather than building up a list Rather than building up a list to iterate over later, just create multiple install commands based on the configuration. This makes it easier to see what is getting installed and allows for the install handling to be centralised. NFC
  31. Reland "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8" Fix compilation errors related to `SANITIZER_GO` `#ifdef`s. Refine longjmp key management. For Linux, re-implement key retrieval in C (instead of assembly). Removal of `InitializeGuardPtr` and a final round of cleanups will be done in the next commit. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D64092 llvm-svn: 365513
  32. XFAIL clang/test/Headers/max_align.c on i686
  33. Use the Itanium C++ ABI for the pipe_builtin.cl test Certain OpenCL constructs cannot yet be mangled in the MS C++ ABI. Add a FIXME for it if anyone cares to implement it.
  34. De-templatize non-dependent VS macro logic, NFC These macro definitions don't depend on the template parameter, so they don't need to be part of the template. Move them to a .cpp file.
  35. [CXX] Exercise all paths through these tests. Differential Revision: https://reviews.llvm.org/D63894
  36. [TSan] Refine longjmp key management on Darwin NFC.
  37. [SLP] Optimize getSpillCost(); NFCI For a given set of live values, the spill cost will always be the same for each call. Compute the cost once and multiply it by the number of calls. (I'm not sure this spill cost modeling makes sense if there are multiple calls, as the spill cost will likely be shared across calls in that case. But that's how it currently works.)
  38. hwasan: Improve precision of checks using short granule tags. A short granule is a granule of size between 1 and `TG-1` bytes. The size of a short granule is stored at the location in shadow memory where the granule's tag is normally stored, while the granule's actual tag is stored in the last byte of the granule. This means that in order to verify that a pointer tag matches a memory tag, HWASAN must check for two possibilities: * the pointer tag is equal to the memory tag in shadow memory, or * the shadow memory tag is actually a short granule size, the value being loaded is in bounds of the granule and the pointer tag is equal to the last byte of the granule. Pointer tags between 1 to `TG-1` are possible and are as likely as any other tag. This means that these tags in memory have two interpretations: the full tag interpretation (where the pointer tag is between 1 and `TG-1` and the last byte of the granule is ordinary data) and the short tag interpretation (where the pointer tag is stored in the granule). When HWASAN detects an error near a memory tag between 1 and `TG-1`, it will show both the memory tag and the last byte of the granule. Currently, it is up to the user to disambiguate the two possibilities. Because this functionality obsoletes the right aligned heap feature of the HWASAN memory allocator (and because we can no longer easily test it), the feature is removed. Also update the documentation to cover both short granule tags and outlined checks. Differential Revision: https://reviews.llvm.org/D63908
  39. [PoisonChecking] Flesh out complete todo list for full coverage Note: I don't actually plan to implement all of the cases at the moment, I'm just documenting them for completeness. There's a couple of cases left which are practically useful for me in debugging loop transforms, and I'll probably stop there for the moment.
  40. [X86][AMDGPU][DAGCombiner] Move call to allowsMemoryAccess into isLoadBitCastBeneficial/isStoreBitCastBeneficial to allow X86 to bypass it Basically the problem is that X86 doesn't set the Fast flag from allowsMemoryAccess on certain CPUs due to slow unaligned memory subtarget features. This prevents bitcasts from being folded into loads and stores. But all vector loads and stores of the same width are the same cost on X86. This patch merges the allowsMemoryAccess call into isLoadBitCastBeneficial to allow X86 to skip it. Differential Revision: https://reviews.llvm.org/D64295
  41. Fix build error for VC STL, use llvm::make_unique
  42. [AMDGPU] gfx908 register file changes Differential Revision: https://reviews.llvm.org/D64438
  43. [OpenMP] Simplify getFloatTypeSemantics When the float point representations are the same on the host and on the target device, (`&Target->getLongDoubleFormat() == &AuxTarget->getLongDoubleFormat()`), we can just use `AuxTarget->getLongDoubleFormat()`. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D64423
  44. [libFuzzer] Include FuzzedDataProvider.h in the test without "utils" subdir. Summary: This way the test would better match the intended usage of the header, plus it makes some additional testing (e.g. in CI) a bit easier to set up. Reviewers: morehouse Reviewed By: morehouse Subscribers: mgorny, delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D64440
  45. [PoisonCheker] Support for out of bounds operands on shifts + insert/extractelement These are sources of poison which don't come from flags, but are clearly documented in the LangRef. Left off support for scalable vectors for the moment, but should be easy to add if anyone is interested.
  46. Boilerplate for producing XCOFF object files from the PowerPC backend. Stubs out a number of the classes needed to produce a new object file format (XCOFF) for the powerpc-aix target. For testing input is an empty module which produces an object file with just a file header. Differential Revision: https://reviews.llvm.org/D61694
  47. [X86] LowerToHorizontalOp - use count_if to count non-UNDEF ops. NFCI.
  48. [PoisonChecking] Add validation rules for "exact" on sdiv/udiv As directly stated in the LangRef, no ambiguity here...
  49. [ThinLTO] only emit used or referenced CFI records to index Summary: We emit CFI_FUNCTION_DEFS and CFI_FUNCTION_DECLS to distributed ThinLTO indices to implement indirect function call checking. This change causes us to only emit entries for functions that are either defined or used by the module we're writing the index for (instead of all functions in the combined index), which can make the indices substantially smaller. Fixes PR42378. Reviewers: pcc, vitalybuka, eugenis Subscribers: mehdi_amini, hiraditya, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63887
  50. Add a transform pass to make the executable semantics of poison explicit in the IR Implements a transform pass which instruments IR such that poison semantics are made explicit. That is, it provides a (possibly partial) executable semantics for every instruction w.r.t. poison as specified in the LLVM LangRef. There are obvious parallels to the sanitizer tools, but this pass is focused purely on the semantics of LLVM IR, not any particular source language. The target audience for this tool is developers working on or targetting LLVM from a frontend. The idea is to be able to take arbitrary IR (with the assumption of known inputs), and evaluate it concretely after having made poison semantics explicit to detect cases where either a) the original code executes UB, or b) a transform pass introduces UB which didn't exist in the original program. At the moment, this is mostly the framework and still needs to be fleshed out. By reusing existing code we have decent coverage, but there's a lot of cases not yet handled. What's here is good enough to handle interesting cases though; for instance, one of the recent LFTR bugs involved UB being triggered by integer induction variables with nsw/nuw flags would be reported by the current code. (See comment in PoisonChecking.cpp for full explanation and context) Differential Revision: https://reviews.llvm.org/D64215
  51. Try to appease the Windows build bots. Several of the conditonal operators commited in llvm-svn: 365524 fail to compile on the windows buildbots. Converting to an if and early return to try to fix.
  52. Revert "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8" This reverts commit 521f77e6351fd921f5a81027c7c72addca378989.
  53. [BPF] Fix a typo in the file name Fixed the file name from BPFAbstrctMemberAccess.cpp to BPFAbstractMemberAccess.cpp. Signed-off-by: Yonghong Song <yhs@fb.com>
  54. [clangd] Rewrite of logic to rebuild the background index serving structures. Summary: Previously it was rebuilding every 5s by default, which was much too frequent in the long run - the goal was to provide an early build. There were also some bugs. There were also some bugs, and a dedicated thread was used in production but not tested. - rebuilds are triggered by #TUs built, rather than time. This should scale more sensibly to fast vs slow machines. - there are two separate indexed-TU thresholds to trigger index build: 5 TUs for the first build, 100 for subsequent rebuilds. - rebuild is always done on the regular indexing threads, and is affected by blockUntilIdle. This means unit/lit tests run the production configuration. - fixed a bug where we'd rebuild after attempting to load shards, even if there were no shards. - the BackgroundIndexTests don't really test the subtleties of the rebuild policy (for determinism, we call blockUntilIdle, so rebuild-on-idle is enough to pass the tests). Instead, we expose the rebuilder as a separate class and have fine-grained tests for it. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64291
  55. gn build: Merge r365503.
  56. [unittest] Add the missing bogus machine register info initialization.
  57. [AMDGPU] gfx908 clang target Differential Revision: https://reviews.llvm.org/D64430
  58. [AMDGPU] gfx908 target Differential Revision: https://reviews.llvm.org/D64429
  59. [Object][XCOFF] Add support for 64-bit file header and section header dumping. Adds a readobj dumper for 32-bit and 64-bit section header tables, and extend support for the file-header dumping to include 64-bit object files. Also refactors the binary file parsing to be done in a helper function in an attempt to cleanup error handeling. Differential Revision: https://reviews.llvm.org/D63843
  60. [InstCombine] add tests for trunc(load); NFC I'm not sure if transforming any of these is valid as a target-independent fold, but we might as well have a few tests here to confirm or deny our position.
  61. [clangd] Show documentation in hover, and fetch docs from index if needed. Summary: I assume showing docs is going to be part of structured hover rendering, but it's unclear whether that's going to make clangd 9 so this is low-hanging fruit. (Also fixes a bug uncovered in FormattedString's plain text output: need blank lines when text follows codeblocks) Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64296
  62. AMDGPU: Fix test failing since r365512
  63. Revert "[HardwareLoops] NFC - move hardware loop checking code to isHardwareLoopProfitable()" This reverts commit d95557306585404893d610784edb3e32f1bfce18.
  64. Add lit.local.cfg to llvm-objdump tests Add configuration file to llvm-objdump tests to treat files with .yaml extension as tests.
  65. [ObjC] Add a warning for implicit conversions of a constant non-boolean value to BOOL rdar://51954400 Differential revision: https://reviews.llvm.org/D63912
Revision 365594 by Kristina Brooks:
Fix modular build issues caused by BitCodes.h

Consolidate llvm::BWH_* statics into an enum to fix
module build issues. This fixes the LLVM_Bitcode module,
getting rid of -Wmodules-ambiguous-internal-linkage.

Differential Revision: https://reviews.llvm.org/D64469
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Bitstream/BitCodes.hllvm.src/include/llvm/Bitstream/BitCodes.h
Revision 365591 by maskray:
[ubsan][test] Restore float-divide-by-zero test

Removed by rCTE365307 to fix buildbots. It can be restored now because D64317/rC365587 brought back -fsanitize=float-divide-by-zero
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/test/ubsan/TestCases/Integer/div-zero.cppcompiler-rt.src/test/ubsan/TestCases/Integer/div-zero.cpp
Revision 365590 by charusso:
[analyzer] CastValueChecker: Remove a dump()

Summary: Fix a nit.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/CastValueChecker.cppclang.src/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
Revision 365589 by ctopper:
[X86] Limit getTargetConstantFromNode to only work on NormalLoads not extending loads.

This seems to fix a failure reported by Jordan Rupprecht, but we
don't have a reduced test case yet.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365588 by rnk:
[Support] Move llvm::MemoryBuffer to sys::fs::file_t

Summary:
On Windows, Posix integer file descriptors are a compatibility layer
over native file handles provided by the C runtime. There is a hard
limit on the maximum number of file descriptors that a process can open,
and the limit is 8192. LLD typically doesn't run into this limit because
it opens input files, maps them into memory, and then immediately closes
the file descriptor. This prevents it from running out of FDs.

For various reasons, I'd like to open handles to every input file and
keep them open during linking. That requires migrating MemoryBuffer over
to taking open native file handles instead of integer FDs.

Reviewers: aganea, Bigcheese

Reviewed By: aganea

Subscribers: smeenai, silvas, mehdi_amini, hiraditya, steven_wu, dexonsmith, dang, llvm-commits, zturner

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63453
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Support/FileSystem.hllvm.src/include/llvm/Support/FileSystem.h
The file was modified/llvm/trunk/include/llvm/Support/MemoryBuffer.hllvm.src/include/llvm/Support/MemoryBuffer.h
The file was modified/llvm/trunk/lib/LTO/Caching.cppllvm.src/lib/LTO/Caching.cpp
The file was modified/llvm/trunk/lib/LTO/LTOModule.cppllvm.src/lib/LTO/LTOModule.cpp
The file was modified/llvm/trunk/lib/LTO/ThinLTOCodeGenerator.cppllvm.src/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modified/llvm/trunk/lib/Object/ArchiveWriter.cppllvm.src/lib/Object/ArchiveWriter.cpp
The file was modified/llvm/trunk/lib/Support/FileOutputBuffer.cppllvm.src/lib/Support/FileOutputBuffer.cpp
The file was modified/llvm/trunk/lib/Support/MemoryBuffer.cppllvm.src/lib/Support/MemoryBuffer.cpp
The file was modified/llvm/trunk/lib/Support/Unix/Path.incllvm.src/lib/Support/Unix/Path.inc
The file was modified/llvm/trunk/lib/Support/VirtualFileSystem.cppllvm.src/lib/Support/VirtualFileSystem.cpp
The file was modified/llvm/trunk/lib/Support/Windows/Path.incllvm.src/lib/Support/Windows/Path.inc
The file was modified/llvm/trunk/lib/XRay/InstrumentationMap.cppllvm.src/lib/XRay/InstrumentationMap.cpp
The file was modified/llvm/trunk/lib/XRay/Profile.cppllvm.src/lib/XRay/Profile.cpp
The file was modified/llvm/trunk/lib/XRay/Trace.cppllvm.src/lib/XRay/Trace.cpp
The file was modified/llvm/trunk/tools/llvm-xray/xray-fdr-dump.cppllvm.src/tools/llvm-xray/xray-fdr-dump.cpp
The file was modified/llvm/trunk/unittests/Support/MemoryBufferTest.cppllvm.src/unittests/Support/MemoryBufferTest.cpp
The file was modified/llvm/trunk/unittests/Support/Path.cppllvm.src/unittests/Support/Path.cpp
The file was modified/llvm/trunk/unittests/Support/ReplaceFileTest.cppllvm.src/unittests/Support/ReplaceFileTest.cpp
Revision 365587 by maskray:
[Driver] Add float-divide-by-zero back to supported sanitizers after D63793/rC365272

D63793 removed float-divide-by-zero from the "undefined" set but it
failed to add it to getSupportedSanitizers(), thus the sanitizer is
rejected by the driver:

    clang-9: error: unsupported option '-fsanitize=float-divide-by-zero' for target 'x86_64-unknown-linux-gnu'

Also, add SanitizerMask::FloatDivideByZero to a few other masks to make -fsanitize-trap, -fsanitize-recover, -fsanitize-minimal-runtime and -fsanitize-coverage work.

Reviewed By: rsmith, vitalybuka

Differential Revision: https://reviews.llvm.org/D64317
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Sanitizers.hclang.src/include/clang/Basic/Sanitizers.h
The file was modified/cfe/trunk/lib/Driver/SanitizerArgs.cppclang.src/lib/Driver/SanitizerArgs.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChain.cppclang.src/lib/Driver/ToolChain.cpp
The file was modified/cfe/trunk/test/Driver/fsanitize-blacklist.cclang.src/test/Driver/fsanitize-blacklist.c
The file was modified/cfe/trunk/test/Driver/fsanitize-coverage.cclang.src/test/Driver/fsanitize-coverage.c
The file was modified/cfe/trunk/test/Driver/fsanitize.cclang.src/test/Driver/fsanitize.c
The file was modified/cfe/trunk/test/Driver/sanitizer-ld.cclang.src/test/Driver/sanitizer-ld.c
The file was modified/cfe/trunk/test/Modules/check-for-sanitizer-feature.cppclang.src/test/Modules/check-for-sanitizer-feature.cpp
Revision 365586 by tstellar:
AMDGPU/GlobalISel: Add support for wide loads >= 256-bits

Summary:
This adds support for the most commonly used wide load types:
<8xi32>, <16xi32>, <4xi64>, and <8xi64>

Reviewers: arsenm

Reviewed By: arsenm

Subscribers: hiraditya, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, kristof.beyls, dstuttard, tpr, t-tye, volkan, Petar.Avramovic, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57399
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.defllvm.src/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.hllvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-smrd.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-smrd.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-load.mir
Revision 365585 by charusso:
[analyzer] CastValueChecker: Model casts

Summary:
It models the LLVM casts:
- `cast<>`
- `dyn_cast<>`
- `cast_or_null<>`
- `dyn_cast_or_null<>`

It has a very basic support without checking the `classof()` function.

(It reapplies the reverted 'llvm-svn: 365582' patch with proper test file.)

Reviewed By: NoQ

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64374
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Checkers/Checkers.tdclang.src/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.hclang.src/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/CMakeLists.txtclang.src/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was added/cfe/trunk/lib/StaticAnalyzer/Checkers/CastValueChecker.cppclang.src/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was added/cfe/trunk/test/Analysis/cast-value.cppclang.src/test/Analysis/cast-value.cpp
The file was modified/cfe/trunk/test/Analysis/return-value-guaranteed.cppclang.src/test/Analysis/return-value-guaranteed.cpp
Revision 365584 by charusso:
Revert "[analyzer] CastValueChecker: Model casts"

This reverts commit 27cf6664437efd640bb6db5594bafcce68fa2854.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Checkers/Checkers.tdclang.src/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.hclang.src/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/CMakeLists.txtclang.src/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was removed/cfe/trunk/lib/StaticAnalyzer/Checkers/CastValueChecker.cppclang.src/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was removed/cfe/trunk/test/Analysis/cast-value.cppclang.src/test/Analysis/cast-value.cpp
The file was modified/cfe/trunk/test/Analysis/return-value-guaranteed.cppclang.src/test/Analysis/return-value-guaranteed.cpp
Revision 365583 by arsenm:
GlobalISel: Implement lower for G_FCOPYSIGN

In SelectionDAG AMDGPU treated these as legal, but this was mostly
because the bitcasts required for FP types were painful. Theoretically
the bitpattern should eventually match to bfi, so don't bother trying
to get the patterns to import.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.hllvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cppllvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-frint.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-frint.mir
Revision 365582 by charusso:
[analyzer] CastValueChecker: Model casts

Summary:
It models the LLVM casts:
- `cast<>`
- `dyn_cast<>`
- `cast_or_null<>`
- `dyn_cast_or_null<>`

It has a very basic support without checking the `classof()` function.

Reviewed By: NoQ

Tags: #clang

Differential Revision: https://reviews.llvm.org/D64374
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Checkers/Checkers.tdclang.src/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modified/cfe/trunk/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.hclang.src/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
The file was modified/cfe/trunk/lib/StaticAnalyzer/Checkers/CMakeLists.txtclang.src/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was added/cfe/trunk/lib/StaticAnalyzer/Checkers/CastValueChecker.cppclang.src/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was added/cfe/trunk/test/Analysis/cast-value.cppclang.src/test/Analysis/cast-value.cpp
The file was modified/cfe/trunk/test/Analysis/return-value-guaranteed.cppclang.src/test/Analysis/return-value-guaranteed.cpp
Revision 365581 by rnk:
Revert [clang] DirectoryWatcher

This reverts r365574 (git commit 31babea94a3ed38a140540f2252cf043dacec1f7)
Change TypePath in RepositoryPath in Workspace
The file was removed/cfe/trunk/include/clang/DirectoryWatcherclang.src/include/clang/DirectoryWatcher
The file was modified/cfe/trunk/lib/CMakeLists.txtclang.src/lib/CMakeLists.txt
The file was removed/cfe/trunk/lib/DirectoryWatcherclang.src/lib/DirectoryWatcher
The file was modified/cfe/trunk/unittests/CMakeLists.txtclang.src/unittests/CMakeLists.txt
The file was removed/cfe/trunk/unittests/DirectoryWatcherclang.src/unittests/DirectoryWatcher
Revision 365580 by thegameg:
[Bitcode] Explicitly include Bitstream/BitCodes.h and BitstreamWriter.h

This fixes a modules issue.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Bitcode/Reader/BitcodeAnalyzer.cppllvm.src/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
Revision 365579 by rnk:
[MS] Treat ignored explicit calling conventions as an explicit __cdecl

The CCCR_Ignore action is only used for Microsoft calling conventions,
mainly because MSVC does not warn when a calling convention would be
ignored by the current target. This behavior is actually somewhat
important, since windows.h uses WINAPI (which expands to __stdcall)
widely. This distinction didn't matter much before the introduction of
__vectorcall to x64 and the ability to make that the default calling
convention with /Gv. Now, we can't just ignore __stdcall for x64, we
have to treat it as an explicit __cdecl annotation.

Fixes PR42531
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaDeclAttr.cppclang.src/lib/Sema/SemaDeclAttr.cpp
The file was added/cfe/trunk/test/CodeGen/calling-conv-ignored.cclang.src/test/CodeGen/calling-conv-ignored.c
Revision 365578 by thegameg:
[docs][Remarks] Add documentation for remarks in LLVM

This adds documentation that describes remarks in LLVM.

It aims at explaining what remarks are, how to enable them, and what
users can do with the different modes.

It lists all the available flags in LLVM (excluding clang), and
describes the expected YAML structure as well as the tools that support
the YAML format today.

Differential Revision: https://reviews.llvm.org/D64355
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CodeGenerator.rstllvm.src/docs/CodeGenerator.rst
The file was added/llvm/trunk/docs/Remarks.rstllvm.src/docs/Remarks.rst
The file was modified/llvm/trunk/docs/index.rstllvm.src/docs/index.rst
Revision 365577 by ctopper:
[X86] Don't form extloads in combineExtInVec unless the load extension is legal.

This should prevent doing this on pre-sse4.1 targets or for 256
bit vectors without avx2.

I don't know of a failure from this. Op legalization will probably
take care of, but seemed better to be safe.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365576 by sammccall:
[clangd] fix assert in test after r365531.

Unverified because CMake/ninja seems to be broken...
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cppclang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
Revision 365575 by arsenm:
AMDGPU/GlobalISel: Fix legality for G_BUILD_VECTOR
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ashr.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fabs.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fadd.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fcanonicalize.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fcmp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fma.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fmul.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fneg.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fsqrt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-fsub.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-lshr.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-phi.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-shl.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-smax.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-smin.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-umax.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-umin.mir
Revision 365574 by Jan Korous:
[clang] DirectoryWatcher

Asynchronously monitors specified directory for changes and passes notifications to provided callback.

Dependency for index-while-building.

Differential Revision: https://reviews.llvm.org/D58418
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/include/clang/DirectoryWatcherclang.src/include/clang/DirectoryWatcher
The file was added/cfe/trunk/include/clang/DirectoryWatcher/DirectoryWatcher.hclang.src/include/clang/DirectoryWatcher/DirectoryWatcher.h
The file was modified/cfe/trunk/lib/CMakeLists.txtclang.src/lib/CMakeLists.txt
The file was added/cfe/trunk/lib/DirectoryWatcherclang.src/lib/DirectoryWatcher
The file was added/cfe/trunk/lib/DirectoryWatcher/CMakeLists.txtclang.src/lib/DirectoryWatcher/CMakeLists.txt
The file was added/cfe/trunk/lib/DirectoryWatcher/DirectoryScanner.cppclang.src/lib/DirectoryWatcher/DirectoryScanner.cpp
The file was added/cfe/trunk/lib/DirectoryWatcher/DirectoryScanner.hclang.src/lib/DirectoryWatcher/DirectoryScanner.h
The file was added/cfe/trunk/lib/DirectoryWatcher/linuxclang.src/lib/DirectoryWatcher/linux
The file was added/cfe/trunk/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cppclang.src/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp
The file was added/cfe/trunk/lib/DirectoryWatcher/macclang.src/lib/DirectoryWatcher/mac
The file was added/cfe/trunk/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cppclang.src/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp
The file was modified/cfe/trunk/unittests/CMakeLists.txtclang.src/unittests/CMakeLists.txt
The file was added/cfe/trunk/unittests/DirectoryWatcherclang.src/unittests/DirectoryWatcher
The file was added/cfe/trunk/unittests/DirectoryWatcher/CMakeLists.txtclang.src/unittests/DirectoryWatcher/CMakeLists.txt
The file was added/cfe/trunk/unittests/DirectoryWatcher/DirectoryWatcherTest.cppclang.src/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
Revision 365573 by rampitec:
[AMDGPU] gfx908 v_pk_fmac_f16 support

Differential Revision: https://reviews.llvm.org/D64433
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPU.tdllvm.src/lib/Target/AMDGPU/AMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP2Instructions.tdllvm.src/lib/Target/AMDGPU/VOP2Instructions.td
The file was added/llvm/trunk/test/MC/AMDGPU/xdl-insts-gfx908.sllvm.src/test/MC/AMDGPU/xdl-insts-gfx908.s
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/xdl-insts-gfx908.txtllvm.src/test/MC/Disassembler/AMDGPU/xdl-insts-gfx908.txt
Revision 365572 by pcc:
gn build: Merge r365536.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gnllvm.src/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Revision 365571 by pcc:
gn build: Merge r365532.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gnllvm.src/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Revision 365570 by pcc:
gn build: Merge r365541.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/MC/BUILD.gnllvm.src/utils/gn/secondary/llvm/lib/MC/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/PowerPC/MCTargetDesc/BUILD.gnllvm.src/utils/gn/secondary/llvm/lib/Target/PowerPC/MCTargetDesc/BUILD.gn
Revision 365569 by pcc:
gn build: Merge r365531.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gnllvm.src/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Revision 365568 by labath:
Add lldb type unit support to the release notes

Reviewers: JDevlieghere, teemperor

Subscribers: llvm-commits, lldb-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64366
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/ReleaseNotes.rstllvm.src/docs/ReleaseNotes.rst
Revision 365566 by arsenm:
GlobalISel: Combine unmerge of merge with intermediate cast

This eliminates some illegal intermediate vectors when operations are
scalarized.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.hllvm.src/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/Utils.hllvm.src/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Utils.cppllvm.src/lib/CodeGen/GlobalISel/Utils.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-unmerge-values.mir
Revision 365565 by Vedant Kumar:
[Profile] Support raw/indexed profiles larger than 4GB

rdar://45955976
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/ProfileData/InstrProfReader.cppllvm.src/lib/ProfileData/InstrProfReader.cpp
The file was modified/llvm/trunk/unittests/ProfileData/InstrProfTest.cppllvm.src/unittests/ProfileData/InstrProfTest.cpp
Revision 365564 by yuanfang:
[llvm-objdump] Keep warning for --disassemble-functions in correct order.

relative to normal output when dumping archive files.

prepare for PR35351.

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Reviewed by: MaskRay, jhenderson

Differential Revision: https://reviews.llvm.org/D64165
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/warn-missing-disasm-func.testllvm.src/test/tools/llvm-objdump/X86/warn-missing-disasm-func.test
The file was modified/llvm/trunk/tools/llvm-objdump/llvm-objdump.cppllvm.src/tools/llvm-objdump/llvm-objdump.cpp
Revision 365563 by rampitec:
[AMDGPU] gfx908 mAI instructions, MC part

Differential Revision: https://reviews.llvm.org/D64446
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsAMDGPU.tdllvm.src/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cppllvm.src/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegAsmNames.inc.cppllvm.src/lib/Target/AMDGPU/AMDGPURegAsmNames.inc.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPURegisterInfo.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/MCTargetDesc/AMDGPUInstPrinter.cppllvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.hllvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.hllvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cppllvm.src/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIDefines.hllvm.src/lib/Target/AMDGPU/SIDefines.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrFormats.tdllvm.src/lib/Target/AMDGPU/SIInstrFormats.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.hllvm.src/lib/Target/AMDGPU/SIInstrInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.tdllvm.src/lib/Target/AMDGPU/SIInstrInfo.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cppllvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cppllvm.src/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.hllvm.src/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP3Instructions.tdllvm.src/lib/Target/AMDGPU/VOP3Instructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOP3PInstructions.tdllvm.src/lib/Target/AMDGPU/VOP3PInstructions.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/VOPInstructions.tdllvm.src/lib/Target/AMDGPU/VOPInstructions.td
The file was added/llvm/trunk/test/MC/AMDGPU/accvgpr-altnames.sllvm.src/test/MC/AMDGPU/accvgpr-altnames.s
The file was added/llvm/trunk/test/MC/AMDGPU/mai-err.sllvm.src/test/MC/AMDGPU/mai-err.s
The file was added/llvm/trunk/test/MC/AMDGPU/mai.sllvm.src/test/MC/AMDGPU/mai.s
The file was added/llvm/trunk/test/MC/Disassembler/AMDGPU/mai.txtllvm.src/test/MC/Disassembler/AMDGPU/mai.txt
Revision 365562 by Saleem Abdulrasool:
build: use multiple `install` rather than building up a list

Rather than building up a list to iterate over later, just create multiple
install commands based on the configuration. This makes it easier to see what
is getting installed and allows for the install handling to be centralised. NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/src/CMakeLists.txtlibcxx.src/src/CMakeLists.txt
Revision 365560 by yln:
Reland "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8"

Fix compilation errors related to `SANITIZER_GO` `#ifdef`s.

Refine longjmp key management.  For Linux, re-implement key retrieval in
C (instead of assembly).  Removal of `InitializeGuardPtr` and a final
round of cleanups will be done in the next commit.

Reviewed By: dvyukov

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

llvm-svn: 365513
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc
Revision 365558 by andusy:
XFAIL clang/test/Headers/max_align.c on i686
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/Headers/max_align.cclang.src/test/Headers/max_align.c
Revision 365557 by rnk:
Use the Itanium C++ ABI for the pipe_builtin.cl test

Certain OpenCL constructs cannot yet be mangled in the MS C++ ABI.
Add a FIXME for it if anyone cares to implement it.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CodeGenOpenCL/pipe_builtin.clclang.src/test/CodeGenOpenCL/pipe_builtin.cl
Revision 365556 by rnk:
De-templatize non-dependent VS macro logic, NFC

These macro definitions don't depend on the template parameter, so they
don't need to be part of the template. Move them to a .cpp file.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Basic/Targets.cppclang.src/lib/Basic/Targets.cpp
The file was modified/cfe/trunk/lib/Basic/Targets.hclang.src/lib/Basic/Targets.h
The file was modified/cfe/trunk/lib/Basic/Targets/AArch64.cppclang.src/lib/Basic/Targets/AArch64.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/AArch64.hclang.src/lib/Basic/Targets/AArch64.h
The file was modified/cfe/trunk/lib/Basic/Targets/ARM.cppclang.src/lib/Basic/Targets/ARM.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/OSTargets.cppclang.src/lib/Basic/Targets/OSTargets.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/OSTargets.hclang.src/lib/Basic/Targets/OSTargets.h
The file was modified/cfe/trunk/lib/Basic/Targets/X86.hclang.src/lib/Basic/Targets/X86.h
Revision 365555 by probinson:
[CXX] Exercise all paths through these tests.

Differential Revision: https://reviews.llvm.org/D63894
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cppclang.src/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
The file was modified/cfe/trunk/test/SemaCXX/class.cppclang.src/test/SemaCXX/class.cpp
The file was modified/cfe/trunk/test/SemaCXX/linkage2.cppclang.src/test/SemaCXX/linkage2.cpp
Revision 365554 by yln:
[TSan] Refine longjmp key management on Darwin

NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_mac.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_mac.cc
Revision 365552 by nikic:
[SLP] Optimize getSpillCost(); NFCI

For a given set of live values, the spill cost will always be the
same for each call. Compute the cost once and multiply it by the
number of calls.

(I'm not sure this spill cost modeling makes sense if there are
multiple calls, as the spill cost will likely be shared across
calls in that case. But that's how it currently works.)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cppllvm.src/lib/Transforms/Vectorize/SLPVectorizer.cpp
Revision 365551 by pcc:
hwasan: Improve precision of checks using short granule tags.

A short granule is a granule of size between 1 and `TG-1` bytes. The size
of a short granule is stored at the location in shadow memory where the
granule's tag is normally stored, while the granule's actual tag is stored
in the last byte of the granule. This means that in order to verify that a
pointer tag matches a memory tag, HWASAN must check for two possibilities:

* the pointer tag is equal to the memory tag in shadow memory, or
* the shadow memory tag is actually a short granule size, the value being loaded
  is in bounds of the granule and the pointer tag is equal to the last byte of
  the granule.

Pointer tags between 1 to `TG-1` are possible and are as likely as any other
tag. This means that these tags in memory have two interpretations: the full
tag interpretation (where the pointer tag is between 1 and `TG-1` and the
last byte of the granule is ordinary data) and the short tag interpretation
(where the pointer tag is stored in the granule).

When HWASAN detects an error near a memory tag between 1 and `TG-1`, it
will show both the memory tag and the last byte of the granule. Currently,
it is up to the user to disambiguate the two possibilities.

Because this functionality obsoletes the right aligned heap feature of
the HWASAN memory allocator (and because we can no longer easily test
it), the feature is removed.

Also update the documentation to cover both short granule tags and
outlined checks.

Differential Revision: https://reviews.llvm.org/D63908
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/docs/HardwareAssistedAddressSanitizerDesign.rstclang.src/docs/HardwareAssistedAddressSanitizerDesign.rst
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan_allocator.cppcompiler-rt.src/lib/hwasan/hwasan_allocator.cpp
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan_checks.hcompiler-rt.src/lib/hwasan/hwasan_checks.h
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan_flags.inccompiler-rt.src/lib/hwasan/hwasan_flags.inc
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan_report.cppcompiler-rt.src/lib/hwasan/hwasan_report.cpp
The file was modified/compiler-rt/trunk/lib/hwasan/hwasan_report.hcompiler-rt.src/lib/hwasan/hwasan_report.h
The file was modified/compiler-rt/trunk/test/hwasan/TestCases/heap-buffer-overflow.ccompiler-rt.src/test/hwasan/TestCases/heap-buffer-overflow.c
The file was removed/compiler-rt/trunk/test/hwasan/TestCases/random-align-right.ccompiler-rt.src/test/hwasan/TestCases/random-align-right.c
The file was modified/compiler-rt/trunk/test/hwasan/TestCases/stack-oob.ccompiler-rt.src/test/hwasan/TestCases/stack-oob.c
The file was modified/compiler-rt/trunk/test/hwasan/TestCases/tail-magic.ccompiler-rt.src/test/hwasan/TestCases/tail-magic.c
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64AsmPrinter.cppllvm.src/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/HWAddressSanitizer.cppllvm.src/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/hwasan-check-memaccess.llllvm.src/test/CodeGen/AArch64/hwasan-check-memaccess.ll
The file was modified/llvm/trunk/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.llllvm.src/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
The file was modified/llvm/trunk/test/Instrumentation/HWAddressSanitizer/alloca.llllvm.src/test/Instrumentation/HWAddressSanitizer/alloca.ll
The file was modified/llvm/trunk/test/Instrumentation/HWAddressSanitizer/basic.llllvm.src/test/Instrumentation/HWAddressSanitizer/basic.ll
The file was modified/llvm/trunk/test/Instrumentation/HWAddressSanitizer/kernel-alloca.llllvm.src/test/Instrumentation/HWAddressSanitizer/kernel-alloca.ll
Revision 365550 by reames:
[PoisonChecking] Flesh out complete todo list for full coverage

Note: I don't actually plan to implement all of the cases at the moment, I'm just documenting them for completeness.  There's a couple of cases left which are practically useful for me in debugging loop transforms, and I'll probably stop there for the moment.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PoisonChecking.cppllvm.src/lib/Transforms/Instrumentation/PoisonChecking.cpp
Revision 365549 by ctopper:
[X86][AMDGPU][DAGCombiner] Move call to allowsMemoryAccess into isLoadBitCastBeneficial/isStoreBitCastBeneficial to allow X86 to bypass it

Basically the problem is that X86 doesn't set the Fast flag from
allowsMemoryAccess on certain CPUs due to slow unaligned memory
subtarget features. This prevents bitcasts from being folded into
loads and stores. But all vector loads and stores of the same width
are the same cost on X86.

This patch merges the allowsMemoryAccess call into isLoadBitCastBeneficial to allow X86 to skip it.

Differential Revision: https://reviews.llvm.org/D64295
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/TargetLowering.hllvm.src/include/llvm/CodeGen/TargetLowering.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cppllvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.hllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.hllvm.src/lib/Target/X86/X86ISelLowering.h
The file was modified/llvm/trunk/test/CodeGen/X86/merge-consecutive-stores-nt.llllvm.src/test/CodeGen/X86/merge-consecutive-stores-nt.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v4.llllvm.src/test/CodeGen/X86/vector-shuffle-128-v4.ll
Revision 365548 by rnk:
Fix build error for VC STL, use llvm::make_unique
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/MC/XCOFFObjectWriter.cppllvm.src/lib/MC/XCOFFObjectWriter.cpp
Revision 365546 by rampitec:
[AMDGPU] gfx908 register file changes

Differential Revision: https://reviews.llvm.org/D64438
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterInfo.tdllvm.src/lib/Target/AMDGPU/AMDGPURegisterInfo.td
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/SIDefines.hllvm.src/lib/Target/AMDGPU/SIDefines.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.tdllvm.src/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/ipra-regmask.llllvm.src/test/CodeGen/AMDGPU/ipra-regmask.ll
Revision 365545 by maskray:
[OpenMP] Simplify getFloatTypeSemantics

When the float point representations are the same on the host and on the target device,
(`&Target->getLongDoubleFormat() == &AuxTarget->getLongDoubleFormat()`),
we can just use `AuxTarget->getLongDoubleFormat()`.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D64423
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/AST/ASTContext.cppclang.src/lib/AST/ASTContext.cpp
Revision 365544 by dor1s:
[libFuzzer] Include FuzzedDataProvider.h in the test without "utils" subdir.

Summary:
This way the test would better match the intended usage of the header,
plus it makes some additional testing (e.g. in CI) a bit easier to set up.

Reviewers: morehouse

Reviewed By: morehouse

Subscribers: mgorny, delcypher, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D64440
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/tests/CMakeLists.txtcompiler-rt.src/lib/fuzzer/tests/CMakeLists.txt
The file was modified/compiler-rt/trunk/lib/fuzzer/tests/FuzzedDataProviderUnittest.cppcompiler-rt.src/lib/fuzzer/tests/FuzzedDataProviderUnittest.cpp
Revision 365543 by reames:
[PoisonCheker] Support for out of bounds operands on shifts + insert/extractelement

These are sources of poison which don't come from flags, but are clearly documented in the LangRef.  Left off support for scalable vectors for the moment, but should be easy to add if anyone is interested.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PoisonChecking.cppllvm.src/lib/Transforms/Instrumentation/PoisonChecking.cpp
The file was modified/llvm/trunk/test/Instrumentation/PoisonChecking/basic-flag-validation.llllvm.src/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
Revision 365541 by sfertile:
Boilerplate for producing XCOFF object files from the PowerPC backend.

Stubs out a number of the classes needed to produce a new object file format
(XCOFF) for the powerpc-aix target. For testing input is an empty module which
produces an object file with just a file header.

Differential Revision: https://reviews.llvm.org/D61694
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/XCOFF.hllvm.src/include/llvm/BinaryFormat/XCOFF.h
The file was added/llvm/trunk/include/llvm/MC/MCAsmInfoXCOFF.hllvm.src/include/llvm/MC/MCAsmInfoXCOFF.h
The file was modified/llvm/trunk/include/llvm/MC/MCContext.hllvm.src/include/llvm/MC/MCContext.h
The file was modified/llvm/trunk/include/llvm/MC/MCObjectFileInfo.hllvm.src/include/llvm/MC/MCObjectFileInfo.h
The file was modified/llvm/trunk/include/llvm/MC/MCSection.hllvm.src/include/llvm/MC/MCSection.h
The file was added/llvm/trunk/include/llvm/MC/MCSectionXCOFF.hllvm.src/include/llvm/MC/MCSectionXCOFF.h
The file was added/llvm/trunk/include/llvm/MC/MCXCOFFObjectWriter.hllvm.src/include/llvm/MC/MCXCOFFObjectWriter.h
The file was added/llvm/trunk/include/llvm/MC/MCXCOFFStreamer.hllvm.src/include/llvm/MC/MCXCOFFStreamer.h
The file was modified/llvm/trunk/include/llvm/Support/TargetRegistry.hllvm.src/include/llvm/Support/TargetRegistry.h
The file was modified/llvm/trunk/lib/MC/CMakeLists.txtllvm.src/lib/MC/CMakeLists.txt
The file was modified/llvm/trunk/lib/MC/MCAsmBackend.cppllvm.src/lib/MC/MCAsmBackend.cpp
The file was added/llvm/trunk/lib/MC/MCAsmInfoXCOFF.cppllvm.src/lib/MC/MCAsmInfoXCOFF.cpp
The file was modified/llvm/trunk/lib/MC/MCContext.cppllvm.src/lib/MC/MCContext.cpp
The file was modified/llvm/trunk/lib/MC/MCObjectFileInfo.cppllvm.src/lib/MC/MCObjectFileInfo.cpp
The file was added/llvm/trunk/lib/MC/MCSectionXCOFF.cppllvm.src/lib/MC/MCSectionXCOFF.cpp
The file was added/llvm/trunk/lib/MC/MCXCOFFObjectTargetWriter.cppllvm.src/lib/MC/MCXCOFFObjectTargetWriter.cpp
The file was added/llvm/trunk/lib/MC/MCXCOFFStreamer.cppllvm.src/lib/MC/MCXCOFFStreamer.cpp
The file was added/llvm/trunk/lib/MC/XCOFFObjectWriter.cppllvm.src/lib/MC/XCOFFObjectWriter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txtllvm.src/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cppllvm.src/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cppllvm.src/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.hllvm.src/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cppllvm.src/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.hllvm.src/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
The file was added/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cppllvm.src/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cppllvm.src/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/aix-xcoff-basic.llllvm.src/test/CodeGen/PowerPC/aix-xcoff-basic.ll
Revision 365540 by rksimon:
[X86] LowerToHorizontalOp - use count_if to count non-UNDEF ops. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cppllvm.src/lib/Target/X86/X86ISelLowering.cpp
Revision 365538 by reames:
[PoisonChecking] Add validation rules for "exact" on sdiv/udiv

As directly stated in the LangRef, no ambiguity here...
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/PoisonChecking.cppllvm.src/lib/Transforms/Instrumentation/PoisonChecking.cpp
The file was modified/llvm/trunk/test/Instrumentation/PoisonChecking/basic-flag-validation.llllvm.src/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
Revision 365537 by inglorion:
[ThinLTO] only emit used or referenced CFI records to index

Summary: We emit CFI_FUNCTION_DEFS and CFI_FUNCTION_DECLS to
distributed ThinLTO indices to implement indirect function call
checking.  This change causes us to only emit entries for functions
that are either defined or used by the module we're writing the index
for (instead of all functions in the combined index), which can make
the indices substantially smaller.

Fixes PR42378.

Reviewers: pcc, vitalybuka, eugenis

Subscribers: mehdi_amini, hiraditya, dexonsmith, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63887
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cppllvm.src/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was added/llvm/trunk/test/ThinLTO/X86/Inputs/cfi-icall-only-bazqux.llllvm.src/test/ThinLTO/X86/Inputs/cfi-icall-only-bazqux.ll
The file was added/llvm/trunk/test/ThinLTO/X86/cfi-icall-only-defuse.llllvm.src/test/ThinLTO/X86/cfi-icall-only-defuse.ll
Revision 365536 by reames:
Add a transform pass to make the executable semantics of poison explicit in the IR

Implements a transform pass which instruments IR such that poison semantics are made explicit. That is, it provides a (possibly partial) executable semantics for every instruction w.r.t. poison as specified in the LLVM LangRef. There are obvious parallels to the sanitizer tools, but this pass is focused purely on the semantics of LLVM IR, not any particular source language.

The target audience for this tool is developers working on or targetting LLVM from a frontend. The idea is to be able to take arbitrary IR (with the assumption of known inputs), and evaluate it concretely after having made poison semantics explicit to detect cases where either a) the original code executes UB, or b) a transform pass introduces UB which didn't exist in the original program.

At the moment, this is mostly the framework and still needs to be fleshed out. By reusing existing code we have decent coverage, but there's a lot of cases not yet handled. What's here is good enough to handle interesting cases though; for instance, one of the recent LFTR bugs involved UB being triggered by integer induction variables with nsw/nuw flags would be reported by the current code.

(See comment in PoisonChecking.cpp for full explanation and context)

Differential Revision: https://reviews.llvm.org/D64215
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/include/llvm/Transforms/Instrumentation/PoisonChecking.hllvm.src/include/llvm/Transforms/Instrumentation/PoisonChecking.h
The file was modified/llvm/trunk/lib/IR/Instruction.cppllvm.src/lib/IR/Instruction.cpp
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cppllvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/lib/Passes/PassRegistry.defllvm.src/lib/Passes/PassRegistry.def
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/CMakeLists.txtllvm.src/lib/Transforms/Instrumentation/CMakeLists.txt
The file was added/llvm/trunk/lib/Transforms/Instrumentation/PoisonChecking.cppllvm.src/lib/Transforms/Instrumentation/PoisonChecking.cpp
The file was added/llvm/trunk/test/Instrumentation/PoisonCheckingllvm.src/test/Instrumentation/PoisonChecking
The file was added/llvm/trunk/test/Instrumentation/PoisonChecking/basic-flag-validation.llllvm.src/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
The file was added/llvm/trunk/test/Instrumentation/PoisonChecking/ub-checks.llllvm.src/test/Instrumentation/PoisonChecking/ub-checks.ll
Revision 365535 by sfertile:
Try to appease the Windows build bots.

Several of the conditonal operators commited in llvm-svn: 365524 fail to compile
on the windows buildbots. Converting to an if and early return to try to fix.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Object/XCOFFObjectFile.cppllvm.src/lib/Object/XCOFFObjectFile.cpp
Revision 365534 by yln:
Revert "[TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.8"

This reverts commit 521f77e6351fd921f5a81027c7c72addca378989.
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_linux.cc
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_mac.cccompiler-rt.src/lib/tsan/rtl/tsan_platform_mac.cc
Revision 365532 by yhs:
[BPF] Fix a typo in the file name

Fixed the file name from BPFAbstrctMemberAccess.cpp to
BPFAbstractMemberAccess.cpp.

Signed-off-by: Yonghong Song <yhs@fb.com>
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/lib/Target/BPF/BPFAbstractMemberAccess.cppllvm.src/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was removed/llvm/trunk/lib/Target/BPF/BPFAbstrctMemberAccess.cppllvm.src/lib/Target/BPF/BPFAbstrctMemberAccess.cpp
The file was modified/llvm/trunk/lib/Target/BPF/CMakeLists.txtllvm.src/lib/Target/BPF/CMakeLists.txt
Revision 365531 by sammccall:
[clangd] Rewrite of logic to rebuild the background index serving structures.

Summary:
Previously it was rebuilding every 5s by default, which was much too frequent
in the long run - the goal was to provide an early build. There were also some
bugs. There were also some bugs, and a dedicated thread was used in production
but not tested.

- rebuilds are triggered by #TUs built, rather than time. This should scale
   more sensibly to fast vs slow machines.
- there are two separate indexed-TU thresholds to trigger index build: 5 TUs
   for the first build, 100 for subsequent rebuilds.
- rebuild is always done on the regular indexing threads, and is affected by
   blockUntilIdle. This means unit/lit tests run the production configuration.
- fixed a bug where we'd rebuild after attempting to load shards, even if there
   were no shards.
- the BackgroundIndexTests don't really test the subtleties of the rebuild
   policy (for determinism, we call blockUntilIdle, so rebuild-on-idle is enough
   to pass the tests). Instead, we expose the rebuilder as a separate class and
   have fine-grained tests for it.

Reviewers: kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64291
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/CMakeLists.txtclang-tools-extra.src/clangd/CMakeLists.txt
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.cppclang-tools-extra.src/clangd/ClangdServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.hclang-tools-extra.src/clangd/ClangdServer.h
The file was modified/clang-tools-extra/trunk/clangd/index/Background.cppclang-tools-extra.src/clangd/index/Background.cpp
The file was modified/clang-tools-extra/trunk/clangd/index/Background.hclang-tools-extra.src/clangd/index/Background.h
The file was added/clang-tools-extra/trunk/clangd/index/BackgroundRebuild.cppclang-tools-extra.src/clangd/index/BackgroundRebuild.cpp
The file was added/clang-tools-extra/trunk/clangd/index/BackgroundRebuild.hclang-tools-extra.src/clangd/index/BackgroundRebuild.h
The file was modified/clang-tools-extra/trunk/clangd/test/background-index.testclang-tools-extra.src/clangd/test/background-index.test
The file was modified/clang-tools-extra/trunk/clangd/tool/ClangdMain.cppclang-tools-extra.src/clangd/tool/ClangdMain.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/BackgroundIndexTests.cppclang-tools-extra.src/clangd/unittests/BackgroundIndexTests.cpp
Revision 365530 by pcc:
gn build: Merge r365503.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gnllvm.src/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
Revision 365529 by hliao:
[unittest] Add the missing bogus machine register info initialization.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/unittests/CodeGen/MachineInstrTest.cppllvm.src/unittests/CodeGen/MachineInstrTest.cpp
Revision 365528 by rampitec:
[AMDGPU] gfx908 clang target

Differential Revision: https://reviews.llvm.org/D64430
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Cuda.hclang.src/include/clang/Basic/Cuda.h
The file was modified/cfe/trunk/lib/Basic/Cuda.cppclang.src/lib/Basic/Cuda.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/AMDGPU.cppclang.src/lib/Basic/Targets/AMDGPU.cpp
The file was modified/cfe/trunk/lib/Basic/Targets/NVPTX.cppclang.src/lib/Basic/Targets/NVPTX.cpp
The file was modified/cfe/trunk/lib/CodeGen/CGOpenMPRuntimeNVPTX.cppclang.src/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modified/cfe/trunk/test/CodeGenOpenCL/amdgpu-features.clclang.src/test/CodeGenOpenCL/amdgpu-features.cl
The file was modified/cfe/trunk/test/Driver/amdgpu-macros.clclang.src/test/Driver/amdgpu-macros.cl
The file was modified/cfe/trunk/test/Driver/amdgpu-mcpu.clclang.src/test/Driver/amdgpu-mcpu.cl
The file was modified/cfe/trunk/test/Driver/cuda-bad-arch.cuclang.src/test/Driver/cuda-bad-arch.cu
Revision 365525 by rampitec:
[AMDGPU] gfx908 target

Differential Revision: https://reviews.llvm.org/D64429
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/AMDGPUUsage.rstllvm.src/docs/AMDGPUUsage.rst
The file was modified/llvm/trunk/include/llvm/BinaryFormat/ELF.hllvm.src/include/llvm/BinaryFormat/ELF.h
The file was modified/llvm/trunk/include/llvm/Support/TargetParser.hllvm.src/include/llvm/Support/TargetParser.h
The file was modified/llvm/trunk/lib/ObjectYAML/ELFYAML.cppllvm.src/lib/ObjectYAML/ELFYAML.cpp
The file was modified/llvm/trunk/lib/Support/TargetParser.cppllvm.src/lib/Support/TargetParser.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPU.tdllvm.src/lib/Target/AMDGPU/AMDGPU.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cppllvm.src/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.hllvm.src/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/GCNProcessors.tdllvm.src/lib/Target/AMDGPU/GCNProcessors.td
The file was modified/llvm/trunk/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cppllvm.src/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/elf-header-flags-mach.llllvm.src/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/elf-header-flags-sram-ecc.llllvm.src/test/CodeGen/AMDGPU/elf-header-flags-sram-ecc.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/hsa-note-no-func.llllvm.src/test/CodeGen/AMDGPU/hsa-note-no-func.ll
The file was modified/llvm/trunk/test/MC/AMDGPU/dl-insts.sllvm.src/test/MC/AMDGPU/dl-insts.s
The file was modified/llvm/trunk/test/MC/Disassembler/AMDGPU/dl-insts.txtllvm.src/test/MC/Disassembler/AMDGPU/dl-insts.txt
The file was modified/llvm/trunk/test/Object/AMDGPU/elf-header-flags-mach.yamlllvm.src/test/Object/AMDGPU/elf-header-flags-mach.yaml
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cppllvm.src/tools/llvm-readobj/ELFDumper.cpp
Revision 365524 by sfertile:
[Object][XCOFF] Add support for 64-bit file header and section header dumping.

Adds a readobj dumper for 32-bit and 64-bit section header tables, and extend
support for the file-header dumping to include 64-bit object files. Also
refactors the binary file parsing to be done in a helper function in an attempt
to cleanup error handeling.

Differential Revision: https://reviews.llvm.org/D63843
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/BinaryFormat/Magic.hllvm.src/include/llvm/BinaryFormat/Magic.h
The file was modified/llvm/trunk/include/llvm/Object/Binary.hllvm.src/include/llvm/Object/Binary.h
The file was modified/llvm/trunk/include/llvm/Object/ObjectFile.hllvm.src/include/llvm/Object/ObjectFile.h
The file was modified/llvm/trunk/include/llvm/Object/XCOFFObjectFile.hllvm.src/include/llvm/Object/XCOFFObjectFile.h
The file was modified/llvm/trunk/lib/BinaryFormat/Magic.cppllvm.src/lib/BinaryFormat/Magic.cpp
The file was modified/llvm/trunk/lib/Object/Binary.cppllvm.src/lib/Object/Binary.cpp
The file was modified/llvm/trunk/lib/Object/ObjectFile.cppllvm.src/lib/Object/ObjectFile.cpp
The file was modified/llvm/trunk/lib/Object/SymbolicFile.cppllvm.src/lib/Object/SymbolicFile.cpp
The file was modified/llvm/trunk/lib/Object/XCOFFObjectFile.cppllvm.src/lib/Object/XCOFFObjectFile.cpp
The file was added/llvm/trunk/test/tools/llvm-readobj/Inputs/xcoff-basic-64.ollvm.src/test/tools/llvm-readobj/Inputs/xcoff-basic-64.o
The file was modified/llvm/trunk/test/tools/llvm-readobj/xcoff-basic.testllvm.src/test/tools/llvm-readobj/xcoff-basic.test
The file was added/llvm/trunk/test/tools/llvm-readobj/xcoff-sections.testllvm.src/test/tools/llvm-readobj/xcoff-sections.test
The file was modified/llvm/trunk/tools/llvm-readobj/XCOFFDumper.cppllvm.src/tools/llvm-readobj/XCOFFDumper.cpp
The file was modified/llvm/trunk/tools/obj2yaml/xcoff2yaml.cppllvm.src/tools/obj2yaml/xcoff2yaml.cpp
Revision 365523 by spatel:
[InstCombine] add tests for trunc(load); NFC

I'm not sure if transforming any of these is valid as
a target-independent fold, but we might as well have
a few tests here to confirm or deny our position.
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/trunc-load.llllvm.src/test/Transforms/InstCombine/trunc-load.ll
Revision 365522 by sammccall:
[clangd] Show documentation in hover, and fetch docs from index if needed.

Summary:
I assume showing docs is going to be part of structured hover rendering, but
it's unclear whether that's going to make clangd 9 so this is low-hanging fruit.

(Also fixes a bug uncovered in FormattedString's plain text output: need blank
lines when text follows codeblocks)

Reviewers: kadircet

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64296
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/ClangdServer.cppclang-tools-extra.src/clangd/ClangdServer.cpp
The file was modified/clang-tools-extra/trunk/clangd/FormattedString.cppclang-tools-extra.src/clangd/FormattedString.cpp
The file was modified/clang-tools-extra/trunk/clangd/XRefs.cppclang-tools-extra.src/clangd/XRefs.cpp
The file was modified/clang-tools-extra/trunk/clangd/XRefs.hclang-tools-extra.src/clangd/XRefs.h
The file was modified/clang-tools-extra/trunk/clangd/unittests/FormattedStringTests.cppclang-tools-extra.src/clangd/unittests/FormattedStringTests.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/XRefsTests.cppclang-tools-extra.src/clangd/unittests/XRefsTests.cpp
Revision 365521 by arsenm:
AMDGPU: Fix test failing since r365512
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/spill-before-exec.mirllvm.src/test/CodeGen/AMDGPU/spill-before-exec.mir
Revision 365520 by jsji:
Revert "[HardwareLoops] NFC - move hardware loop checking code to isHardwareLoopProfitable()"

This reverts commit d95557306585404893d610784edb3e32f1bfce18.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/TargetTransformInfo.hllvm.src/include/llvm/Analysis/TargetTransformInfo.h
The file was modified/llvm/trunk/lib/Analysis/TargetTransformInfo.cppllvm.src/lib/Analysis/TargetTransformInfo.cpp
The file was modified/llvm/trunk/lib/CodeGen/HardwareLoops.cppllvm.src/lib/CodeGen/HardwareLoops.cpp
Revision 365519 by steven_wu:
Add lit.local.cfg to llvm-objdump tests

Add configuration file to llvm-objdump tests to treat files with .yaml
extension as tests.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objdump/X86/macho-build-version.yamlllvm.src/test/tools/llvm-objdump/X86/macho-build-version.yaml
The file was added/llvm/trunk/test/tools/llvm-objdump/lit.local.cfgllvm.src/test/tools/llvm-objdump/lit.local.cfg
Revision 365518 by epilk:
[ObjC] Add a warning for implicit conversions of a constant non-boolean value to BOOL

rdar://51954400

Differential revision: https://reviews.llvm.org/D63912
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticGroups.tdclang.src/include/clang/Basic/DiagnosticGroups.td
The file was modified/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.tdclang.src/include/clang/Basic/DiagnosticSemaKinds.td
The file was modified/cfe/trunk/lib/Sema/SemaChecking.cppclang.src/lib/Sema/SemaChecking.cpp
The file was added/cfe/trunk/test/Sema/objc-bool-constant-conversion-fixit.mclang.src/test/Sema/objc-bool-constant-conversion-fixit.m
The file was added/cfe/trunk/test/Sema/objc-bool-constant-conversion.mclang.src/test/Sema/objc-bool-constant-conversion.m