FailedChanges

Summary

  1. [X86] Change MS inline asm clobber list filter to check for 'fpsr' instead of 'fpsw' after D57641. Summary: The backend used to print the x87 FPSW register as 'fpsw', but gcc inline asm uses 'fpsr'. After D57641, the backend now uses 'fpsr' to match. Reviewers: rnk Reviewed By: rnk Subscribers: eraman, cfe-commits, llvm-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57642
  2. [X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them. Summary: We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly. This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that. Reviewers: rnk Reviewed By: rnk Subscribers: eraman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57641
  3. Fix double curlies Pointed out by Arthur in D57624.
  4. gn build: Upgrade to NDK r19. NDK r19 includes a sysroot that can be used directly by the compiler without creating a standalone toolchain, so we just need a handful of flags to point Clang there. Differential Revision: https://reviews.llvm.org/D57733
  5. [X86] Add test case from PR40529. NFC
  6. [CMake] Update lit test configuration There are several changes: - Don't stringify Pythonized bools (that's why we're Pythonizing them) - Support specifying target and sysroot via CMake variables - Use consistent spelling for --target, --sysroot, --gcc-toolchain
  7. [LSR] Check SCEV on isZero() after extend. PR40514 When LSR first adds SCEVs to BaseRegs, it only does it if `isZero()` has returned false. In the end, in invocation of `InsertFormula`, it asserts that all values there are still not zero constants. However between these two points, it makes some transformations, in particular extends them to wider type. SCEV does not give us guarantee that if `S` is not a constant zero, then `sext(S)` is also not a constant zero. It might have missed some optimizing transforms when it was calculating `S` and then made them when it took `sext`. For example, it may happen if previously optimizing transforms were limited by depth or somehow else. This patch adds a bailout when we may end up with a zero SCEV after extension. Differential Revision: https://reviews.llvm.org/D57565 Reviewed By: samparker
  8. [SamplePGO] More pipeline changes when flattened profile used in ThinLTO postlink Summary: Follow on to D54819/r351476. We also don't need to perform extra InstCombine pass when we aren't loading the sample profile in the ThinLTO backend because we have a flattened sample profile. Additionally, for consistency and clarity, when we aren't reloading the sample profile, perform ICP in the same location as non-sample PGO backends. To this end I have moved the ICP invocation for non-SamplePGO ThinLTO down into buildModuleSimplificationPipeline (partly addresses the FIXME where we were previously setting this up). Reviewers: wmi Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57705
  9. Fix narrowing issue from r353129
  10. [WebAssembly] Fix indentation after adding IsCanonical property (NFC)
  11. [WebAssembly] Make disassembler always emit most canonical name. Summary: There are a few instructions that all map to the same opcode, so when disassembling, we have to pick one. That was just the first one before (the except_ref variant in the case of "call"), now it is the one marked as IsCanonical in tablegen, or failing that, the shortest name (which is typically the "canonical" one). Also introduced a canonical "end" instruction for this purpose. Reviewers: dschuff, tlively Subscribers: sbc100, jgravelle-google, aheejin, llvm-commits, sunfish Tags: #llvm Differential Revision: https://reviews.llvm.org/D57713
  12. [SamplePGO][NFC] Minor improvement to replace a temporary vector with a brace-enclosed init list. Differential Revision: https://reviews.llvm.org/D57726
  13. GlobalISel: Fix verifier crashing on non-register operands Also correct the wording of error on subregisters.
  14. [WebAssembly] memory.copy Summary: Depends on D57495. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish Differential Revision: https://reviews.llvm.org/D57498
  15. [analyzer] Creating standard Sphinx documentation The lack of documentation has been a long standing issue in the Static Analyzer, and one of the leading reasons behind this was a lack of good documentation infrastucture. This lead serious drawbacks, such as * Not having proper release notes for years * Not being able to have a sensible auto-generated checker documentations (which lead to most of them not having any) * The HTML website that has to updated manually is a chore, and has been outdated for a long while * Many design discussions are now hidden in phabricator revisions This patch implements a new documentation infrastucture using Sphinx, like most of the other subprojects in LLVM. It transformed some pages as a proof-of- concept, with many others to follow in later patches. The eventual goal is to preserve the original website's (https://clang-analyzer.llvm.org/) frontpage, but move everything else to the new format. Some other ideas, like creating a unipage for each checker (similar to how clang-tidy works now), are also being discussed. Patch by Dániel Krupp! Differential Revision: https://reviews.llvm.org/D54429
  16. GlobalISel: Consolidate load/store legalization The fewerElementsVectors implementation for load/stores handles the scalar reduction case just as well, so drop the redundant code in narrowScalar. This also introduces support for narrowing irregular size breakdowns for scalars.
  17. [DAGCombiner] Discard pointer info when combining extract_vector_elt of a vector load when the index isn't constant Summary: If the index isn't constant, this transform inserts a multiply and an add on the index to calculating the base pointer for a scalar load. But we still create a memory operand with an offset of 0 and the size of the scalar access. But the access is really to an unknown offset within the original access size. This can cause the machine scheduler to incorrectly calculate dependencies between this load and other accesses. In the case we saw, there was a 32 byte vector store that was split into two 16 byte stores, one with offset 0 and one with offset 16. The size of the memory operand for both was 16. The scheduler correctly detected the alias with the offset 0 store, but not the offset 16 store. This patch discards the pointer info so we don't incorrectly detect aliasing. I wasn't sure if we could keep using the original offset and size without risking some other transform on the load changing the size. I tried to reduce a test case, but there's still a lot of memory operations needed to get the scheduler to do the bad reordering. So it looked pretty fragile to maintain. Reviewers: efriedma Reviewed By: efriedma Subscribers: arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57616
  18. [SamplePGO] Minor efficiency improvement in samplePGO ICP Summary: When attaching prof metadata to promoted direct calls in SamplePGO mode, no need to construct and use a SmallVector to pass a single count to the ArrayRef parameter, we can simply use a brace-enclosed init list. This made a small but consistent improvement for a ThinLTO backend compile I was measuring. Reviewers: wmi Subscribers: mehdi_amini, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D57706
  19. GlobalISel: Implement narrowScalar for select Don't handle vector conditions. I think this can be merged in the future with fewerElementsVectorSelect, although this becomes slightly tricky with a vector condition.
  20. GlobalISel: Combine g_extract with g_merge_values Try to use the underlying source registers. This enables legalization in more cases where some irregular operations are widened and others narrowed. This seems to make the test_combines_2 AArch64 test worse, since the MERGE_VALUES has multiple uses. Since this should be required for legalization, a hasOneUse check is probably inappropriate (or maybe should only be used if the merge is legal?).
  21. [Sanitizers] UBSan unreachable incompatible with Kernel ASan Summary: This is a follow up for https://reviews.llvm.org/D57278. The previous revision should have also included Kernel ASan. rdar://problem/40723397 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D57711
  22. [llvm-readobj] Fix readobj test expectation broken in rL353109. NFC.
  23. Revert "[PATCH] [TargetLibraryInfo] Update run time support for Windows" This reverts accidental commit ff5527718d5d3b9966f6e8948866c0dc15ffcf3c.
  24. [ADT] Refactor the Windows query functions (NFC) Increase reuse in the query functions for Windows.
  25. [OBJC] Add attribute to mark Objective C class as non-lazy A non-lazy class will be initialized eagerly when the Objective-C runtime is loaded. This is required for certain system classes which have instances allocated in non-standard ways, such as the classes for blocks and constant strings. Adding this attribute is essentially equivalent to providing a trivial +load method but avoids the (fairly small) load-time overheads associated with defining and calling such a method. Differential Revision: https://reviews.llvm.org/D56555
  26. [SemaObjC] Don't infer the availabilty of +new from -init if the receiver has Class type rdar://47713266 Differential revision: https://reviews.llvm.org/D57712
  27. [PATCH] [TargetLibraryInfo] Update run time support for Windows It seems that the run time for Windows has changed and supports more math functions than before. Since LLVM requires at least VS2015, I assume that this is the run time that would be redistributed with programs built with Clang. Thus, I based this update on the header file `math.h` that accompanies it. This patch addresses the PR40541. Unfortunately, I have no access to a Windows development environment to validate it.
  28. GlobalISel: Enforce operand types for constants A number of of tests were using imm operands, not cimm. Since CSE relies on the exact ConstantInt* pointer used, and implicit conversions are generally evil, also enforce the bitsize of the types.
  29. GlobalISel: Verify g_select Factor the common vector element consistency check many instructions need out, although this makes the error messages worse.
  30. MachineVerifier: Move verification of G_* instructions to function
  31. [tsan] Disable fgetpwent_r to work around performance issues This was missed from D54041 when SANITIZER_INTERCEPT_FGETPWENT_R was branched from SANITIZER_INTERCEPT_GETPWENT_R
  32. [WebAssembly] MC: Mark more function aliases as functions Aliases of functions are now marked as function symbols even if they are bitcast to some other other non-function type. This is important for WebAssembly where object and function symbols can't alias each other. Fixes PR38866 Differential Revision: https://reviews.llvm.org/D57538
  33. [libFuzzer][Windows] Clean up RawPrint Summary: Use `_write` instead of the deprecated alias `write` on Windows. Also, remove comment saying RawPrint is untested on Windows. Reviewers: vitalybuka Reviewed By: vitalybuka Subscribers: vitalybuka Differential Revision: https://reviews.llvm.org/D57589
  34. MIR: Validate LLT types when parsing
  35. [CGP] fix bogus test names/comments; NFC Inverted operand 0 and operand 1.
  36. [llvm-readobj] Report more WebAssembly symbol info Differential Revision: https://reviews.llvm.org/D57695
  37. [CGP] add tests for usubo; NFC
  38. GlobalISel: Fix not calling observer when legalizing bitcount ops This was hiding bugs from never legalizing the source type.
  39. AMDGPU: Don't rematerialize mov with implicit operands This was pulling the mov used for register indexing on gfx9 out of the loop.
  40. [SanitizerCoverage] Clang crashes if user declares `__sancov_lowest_stack` variable Summary: If the user declares or defines `__sancov_lowest_stack` with an unexpected type, then `getOrInsertGlobal` inserts a bitcast and the following cast fails: ``` Constant *SanCovLowestStackConstant = M.getOrInsertGlobal(SanCovLowestStackName, IntptrTy); SanCovLowestStack = cast<GlobalVariable>(SanCovLowestStackConstant); ``` This variable is a SanitizerCoverage implementation detail and the user should generally never have a need to access it, so we emit an error now. rdar://problem/44143130 Reviewers: morehouse Differential Revision: https://reviews.llvm.org/D57633
Revision 353142 by ctopper:
[X86] Change MS inline asm clobber list filter to check for 'fpsr' instead of 'fpsw' after D57641.

Summary: The backend used to print the x87 FPSW register as 'fpsw', but gcc inline asm uses 'fpsr'. After D57641, the backend now uses 'fpsr' to match.

Reviewers: rnk

Reviewed By: rnk

Subscribers: eraman, cfe-commits, llvm-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D57642
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Parse/ParseStmtAsm.cpp (diff)clang.src/lib/Parse/ParseStmtAsm.cpp
Revision 353141 by ctopper:
[X86] Connect the default fpsr and dirflag clobbers in inline assembly to the registers we have defined for them.

Summary:
We don't currently map these constraints to physical register numbers so they don't make it to the MachineIR representation of inline assembly.

This could have problems for proper dependency tracking in the machine schedulers though I don't have a test case that shows that.

Reviewers: rnk

Reviewed By: rnk

Subscribers: eraman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57641
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86RegisterInfo.td (diff)llvm.src/lib/Target/X86/X86RegisterInfo.td
The file was added/llvm/trunk/test/CodeGen/X86/inline-asm-default-clobbers.llllvm.src/test/CodeGen/X86/inline-asm-default-clobbers.ll
Revision 353140 by jfb:
Fix double curlies

Pointed out by Arthur in D57624.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/utils/generate_feature_test_macro_components.py (diff)libcxx.src/utils/generate_feature_test_macro_components.py
Revision 353139 by pcc:
gn build: Upgrade to NDK r19.

NDK r19 includes a sysroot that can be used directly by the compiler
without creating a standalone toolchain, so we just need a handful
of flags to point Clang there.

Differential Revision: https://reviews.llvm.org/D57733
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/CMakeLists.txt (diff)compiler-rt.src/CMakeLists.txt
The file was modified/compiler-rt/trunk/test/hwasan/TestCases/sizes.cpp (diff)compiler-rt.src/test/hwasan/TestCases/sizes.cpp
The file was modified/compiler-rt/trunk/test/lit.common.cfg (diff)compiler-rt.src/test/lit.common.cfg
The file was modified/compiler-rt/trunk/test/lit.common.configured.in (diff)compiler-rt.src/test/lit.common.configured.in
The file was modified/llvm/trunk/utils/gn/build/BUILD.gn (diff)llvm.src/utils/gn/build/BUILD.gn
The file was modified/llvm/trunk/utils/gn/build/toolchain/compiler.gni (diff)llvm.src/utils/gn/build/toolchain/compiler.gni
The file was modified/llvm/trunk/utils/gn/build/toolchain/target_flags.gni (diff)llvm.src/utils/gn/build/toolchain/target_flags.gni
The file was modified/llvm/trunk/utils/gn/secondary/compiler-rt/test/BUILD.gn (diff)llvm.src/utils/gn/secondary/compiler-rt/test/BUILD.gn
The file was modified/llvm/trunk/utils/gn/secondary/compiler-rt/test/test.gni (diff)llvm.src/utils/gn/secondary/compiler-rt/test/test.gni
Revision 353138 by ctopper:
[X86] Add test case from PR40529. NFC
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/pr40529.llllvm.src/test/CodeGen/X86/pr40529.ll
Revision 353137 by phosek:
[CMake] Update lit test configuration

There are several changes:
- Don't stringify Pythonized bools (that's why we're Pythonizing them)
- Support specifying target and sysroot via CMake variables
- Use consistent spelling for --target, --sysroot, --gcc-toolchain
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/lit.site.cfg.in (diff)libcxx.src/test/lit.site.cfg.in
The file was modified/libcxx/trunk/utils/libcxx/test/config.py (diff)libcxx.src/utils/libcxx/test/config.py
The file was modified/libcxxabi/trunk/test/CMakeLists.txt (diff)N/A
The file was modified/libcxxabi/trunk/test/lit.site.cfg.in (diff)N/A
The file was modified/libunwind/trunk/test/CMakeLists.txt (diff)N/A
The file was modified/libunwind/trunk/test/lit.site.cfg.in (diff)N/A
Revision 353136 by mkazantsev:
[LSR] Check SCEV on isZero() after extend. PR40514

When LSR first adds SCEVs to BaseRegs, it only does it if `isZero()` has
returned false. In the end, in invocation of `InsertFormula`, it asserts that
all values there are still not zero constants. However between these two
points, it makes some transformations, in particular extends them to wider
type.

SCEV does not give us guarantee that if `S` is not a constant zero, then
`sext(S)` is also not a constant zero. It might have missed some optimizing
transforms when it was calculating `S` and then made them when it took `sext`.
For example, it may happen if previously optimizing transforms were limited
by depth or somehow else.

This patch adds a bailout when we may end up with a zero SCEV after extension.

Differential Revision: https://reviews.llvm.org/D57565
Reviewed By: samparker
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopStrengthReduce.cpp (diff)llvm.src/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was added/llvm/trunk/test/Transforms/LoopStrengthReduce/X86/pr40514.llllvm.src/test/Transforms/LoopStrengthReduce/X86/pr40514.ll
Revision 353135 by tejohnson:
[SamplePGO] More pipeline changes when flattened profile used in ThinLTO postlink

Summary:
Follow on to D54819/r351476.

We also don't need to perform extra InstCombine pass when we aren't
loading the sample profile in the ThinLTO backend because we have a
flattened sample profile.

Additionally, for consistency and clarity, when we aren't reloading the
sample profile, perform ICP in the same location as non-sample PGO
backends. To this end I have moved the ICP invocation for non-SamplePGO
ThinLTO down into buildModuleSimplificationPipeline (partly addresses
the FIXME where we were previously setting this up).

Reviewers: wmi

Subscribers: mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57705
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cpp (diff)llvm.src/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/test/Other/new-pm-thinlto-defaults.ll (diff)llvm.src/test/Other/new-pm-thinlto-defaults.ll
Revision 353134 by rtrieu:
Fix narrowing issue from r353129
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp (diff)llvm.src/lib/Transforms/IPO/SampleProfile.cpp
Revision 353132 by aheejin:
[WebAssembly] Fix indentation after adding IsCanonical property (NFC)
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrCall.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrCall.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Revision 353131 by aardappel:
[WebAssembly] Make disassembler always emit most canonical name.

Summary:
There are a few instructions that all map to the same opcode, so
when disassembling, we have to pick one. That was just the first one
before (the except_ref variant in the case of "call"), now it is the
one marked as IsCanonical in tablegen, or failing that, the shortest
name (which is typically the "canonical" one).

Also introduced a canonical "end" instruction for this purpose.

Reviewers: dschuff, tlively

Subscribers: sbc100, jgravelle-google, aheejin, llvm-commits, sunfish

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57713
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrCall.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrCall.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrControl.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrControl.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrFormats.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrFormats.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modified/llvm/trunk/test/MC/Disassembler/WebAssembly/wasm.txt (diff)llvm.src/test/MC/Disassembler/WebAssembly/wasm.txt
The file was modified/llvm/trunk/test/MC/WebAssembly/objdump.s (diff)llvm.src/test/MC/WebAssembly/objdump.s
The file was modified/llvm/trunk/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp (diff)llvm.src/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
Revision 353129 by wmi:
[SamplePGO][NFC] Minor improvement to replace a temporary vector with a
brace-enclosed init list.

Differential Revision: https://reviews.llvm.org/D57726
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp (diff)llvm.src/lib/Transforms/IPO/SampleProfile.cpp
Revision 353128 by arsenm:
GlobalISel: Fix verifier crashing on non-register operands

Also correct the wording of error on subregisters.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpp (diff)llvm.src/lib/CodeGen/MachineVerifier.cpp
The file was modified/llvm/trunk/test/Verifier/test_g_add.mir (diff)llvm.src/test/Verifier/test_g_add.mir
Revision 353127 by tlively:
[WebAssembly] memory.copy

Summary: Depends on D57495.

Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, hiraditya, sunfish

Differential Revision: https://reviews.llvm.org/D57498
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISD.def (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyISD.def
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was added/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.tdllvm.src/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrInfo.td (diff)llvm.src/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp (diff)llvm.src/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
The file was modified/llvm/trunk/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h (diff)llvm.src/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
The file was modified/llvm/trunk/test/CodeGen/WebAssembly/bulk-memory.ll (diff)llvm.src/test/CodeGen/WebAssembly/bulk-memory.ll
Revision 353126 by szelethus:
[analyzer] Creating standard Sphinx documentation

The lack of documentation has been a long standing issue in the Static Analyzer,
and one of the leading reasons behind this was a lack of good documentation
infrastucture.

This lead serious drawbacks, such as
* Not having proper release notes for years
* Not being able to have a sensible auto-generated checker documentations (which
lead to most of them not having any)
* The HTML website that has to updated manually is a chore, and has been
outdated for a long while
* Many design discussions are now hidden in phabricator revisions

This patch implements a new documentation infrastucture using Sphinx, like most
of the other subprojects in LLVM. It transformed some pages as a proof-of-
concept, with many others to follow in later patches. The eventual goal is to
preserve the original website's (https://clang-analyzer.llvm.org/) frontpage,
but move everything else to the new format.

Some other ideas, like creating a unipage for each checker (similar to how
clang-tidy works now), are also being discussed.

Patch by Dániel Krupp!

Differential Revision: https://reviews.llvm.org/D54429
Change TypePath in RepositoryPath in Workspace
The file was added/cfe/trunk/docs/ClangStaticAnalyzer.rstclang.src/docs/ClangStaticAnalyzer.rst
The file was removed/cfe/trunk/docs/analyzer/DebugChecks.rstclang.src/docs/analyzer/DebugChecks.rst
The file was removed/cfe/trunk/docs/analyzer/DesignDiscussions/InitializerLists.rstclang.src/docs/analyzer/DesignDiscussions/InitializerLists.rst
The file was removed/cfe/trunk/docs/analyzer/IPA.txtclang.src/docs/analyzer/IPA.txt
The file was removed/cfe/trunk/docs/analyzer/RegionStore.txtclang.src/docs/analyzer/RegionStore.txt
The file was added/cfe/trunk/docs/analyzer/checkersclang.src/docs/analyzer/checkers
The file was added/cfe/trunk/docs/analyzer/checkers.rstclang.src/docs/analyzer/checkers.rst
The file was added/cfe/trunk/docs/analyzer/checkers/callandmessage_example.cclang.src/docs/analyzer/checkers/callandmessage_example.c
The file was added/cfe/trunk/docs/analyzer/checkers/dealloc_example.mclang.src/docs/analyzer/checkers/dealloc_example.m
The file was added/cfe/trunk/docs/analyzer/checkers/dividezero_example.cclang.src/docs/analyzer/checkers/dividezero_example.c
The file was added/cfe/trunk/docs/analyzer/checkers/mismatched_deallocator_example.cppclang.src/docs/analyzer/checkers/mismatched_deallocator_example.cpp
The file was added/cfe/trunk/docs/analyzer/checkers/newdelete_example.cppclang.src/docs/analyzer/checkers/newdelete_example.cpp
The file was added/cfe/trunk/docs/analyzer/checkers/seckeychainapi_example.mclang.src/docs/analyzer/checkers/seckeychainapi_example.m
The file was added/cfe/trunk/docs/analyzer/checkers/unix_api_example.cclang.src/docs/analyzer/checkers/unix_api_example.c
The file was added/cfe/trunk/docs/analyzer/checkers/unix_malloc_example.cclang.src/docs/analyzer/checkers/unix_malloc_example.c
The file was added/cfe/trunk/docs/analyzer/developer-docsclang.src/docs/analyzer/developer-docs
The file was added/cfe/trunk/docs/analyzer/developer-docs.rstclang.src/docs/analyzer/developer-docs.rst
The file was added/cfe/trunk/docs/analyzer/developer-docs/DebugChecks.rstclang.src/docs/analyzer/developer-docs/DebugChecks.rst
The file was added/cfe/trunk/docs/analyzer/developer-docs/IPA.rstclang.src/docs/analyzer/developer-docs/IPA.rst
The file was added/cfe/trunk/docs/analyzer/developer-docs/InitializerLists.rstclang.src/docs/analyzer/developer-docs/InitializerLists.rst
The file was added/cfe/trunk/docs/analyzer/developer-docs/RegionStore.rstclang.src/docs/analyzer/developer-docs/RegionStore.rst
The file was added/cfe/trunk/docs/analyzer/developer-docs/nullability.rstclang.src/docs/analyzer/developer-docs/nullability.rst
The file was removed/cfe/trunk/docs/analyzer/index.rstclang.src/docs/analyzer/index.rst
The file was removed/cfe/trunk/docs/analyzer/nullability.rstclang.src/docs/analyzer/nullability.rst
The file was modified/cfe/trunk/docs/conf.py (diff)clang.src/docs/conf.py
The file was modified/cfe/trunk/docs/index.rst (diff)clang.src/docs/index.rst
Revision 353125 by arsenm:
GlobalISel: Consolidate load/store legalization

The fewerElementsVectors implementation for load/stores
handles the scalar reduction case just as well, so drop
the redundant code in narrowScalar. This also introduces
support for narrowing irregular size breakdowns for
scalars.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-load.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-load.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
The file was modified/llvm/trunk/test/CodeGen/X86/GlobalISel/x86_64-fallback.ll (diff)llvm.src/test/CodeGen/X86/GlobalISel/x86_64-fallback.ll
Revision 353124 by ctopper:
[DAGCombiner] Discard pointer info when combining extract_vector_elt of a vector load when the index isn't constant

Summary:
If the index isn't constant, this transform inserts a multiply and an add on the index to calculating the base pointer for a scalar load. But we still create a memory operand with an offset of 0 and the size of the scalar access. But the access is really to an unknown offset within the original access size.

This can cause the machine scheduler to incorrectly calculate dependencies between this load and other accesses. In the case we saw, there was a 32 byte vector store that was split into two 16 byte stores, one with offset 0 and one with offset 16. The size of the memory operand for both was 16. The scheduler correctly detected the alias with the offset 0 store, but not the offset 16 store.

This patch discards the pointer info so we don't incorrectly detect aliasing. I wasn't sure if we could keep using the original offset and size without risking some other transform on the load changing the size.

I tried to reduce a test case, but there's still a lot of memory operations needed to get the scheduler to do the bad reordering. So it looked pretty fragile to maintain.

Reviewers: efriedma

Reviewed By: efriedma

Subscribers: arphaman, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57616
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was added/llvm/trunk/test/CodeGen/X86/vecloadextract.llllvm.src/test/CodeGen/X86/vecloadextract.ll
Revision 353123 by tejohnson:
[SamplePGO] Minor efficiency improvement in samplePGO ICP

Summary:
When attaching prof metadata to promoted direct calls in SamplePGO
mode, no need to construct and use a SmallVector to pass a single count
to the ArrayRef parameter, we can simply use a brace-enclosed init list.

This made a small but consistent improvement for a ThinLTO backend
compile I was measuring.

Reviewers: wmi

Subscribers: mehdi_amini, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D57706
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp (diff)llvm.src/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
Revision 353122 by arsenm:
GlobalISel: Implement narrowScalar for select

Don't handle vector conditions.

I think this can be merged in the future with
fewerElementsVectorSelect, although this becomes slightly tricky with
a vector condition.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir
Revision 353121 by arsenm:
GlobalISel: Combine g_extract with g_merge_values

Try to use the underlying source registers.

This enables legalization in more cases where some irregular
operations are widened and others narrowed.

This seems to make the test_combines_2 AArch64 test worse, since the
MERGE_VALUES has multiple uses. Since this should be required for
legalization, a hasOneUse check is probably inappropriate (or maybe
should only be used if the merge is legal?).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h (diff)llvm.src/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/Legalizer.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/Legalizer.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/legalize-extracts.mir
The file was added/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-extract.mirllvm.src/test/CodeGen/AMDGPU/GlobalISel/artifact-combiner-extract.mir
Revision 353120 by yln:
[Sanitizers] UBSan unreachable incompatible with Kernel ASan

Summary:
This is a follow up for https://reviews.llvm.org/D57278. The previous
revision should have also included Kernel ASan.

rdar://problem/40723397

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D57711
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CGCall.cpp (diff)clang.src/lib/CodeGen/CGCall.cpp
The file was modified/cfe/trunk/test/CodeGen/ubsan-asan-noreturn.c (diff)clang.src/test/CodeGen/ubsan-asan-noreturn.c
The file was modified/llvm/trunk/test/Instrumentation/AddressSanitizer/instrument-no-return.ll (diff)llvm.src/test/Instrumentation/AddressSanitizer/instrument-no-return.ll
Revision 353119 by sbc:
[llvm-readobj] Fix readobj test expectation broken in rL353109. NFC.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-readobj/symbols.test (diff)llvm.src/test/tools/llvm-readobj/symbols.test
Revision 353118 by evandro:
Revert "[PATCH] [TargetLibraryInfo] Update run time support for Windows"

This reverts accidental commit ff5527718d5d3b9966f6e8948866c0dc15ffcf3c.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp (diff)llvm.src/lib/Analysis/TargetLibraryInfo.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/double-float-shrink-1.ll (diff)llvm.src/test/Transforms/InstCombine/double-float-shrink-1.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/double-float-shrink-2.ll (diff)llvm.src/test/Transforms/InstCombine/double-float-shrink-2.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/pow-1.ll (diff)llvm.src/test/Transforms/InstCombine/pow-1.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/win-math.ll (diff)llvm.src/test/Transforms/InstCombine/win-math.ll
Revision 353117 by evandro:
[ADT] Refactor the Windows query functions (NFC)

Increase reuse in the query functions for Windows.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/ADT/Triple.h (diff)llvm.src/include/llvm/ADT/Triple.h
Revision 353116 by joseph_daniels:
[OBJC] Add attribute to mark Objective C class as non-lazy

A non-lazy class will be initialized eagerly when the Objective-C runtime is
loaded. This is required for certain system classes which have instances allocated in
non-standard ways, such as the classes for blocks and constant strings.
Adding this attribute is essentially equivalent to providing a trivial
+load method but avoids the (fairly small) load-time overheads associated
with defining and calling such a method.

Differential Revision: https://reviews.llvm.org/D56555
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Basic/Attr.td (diff)clang.src/include/clang/Basic/Attr.td
The file was modified/cfe/trunk/include/clang/Basic/AttrDocs.td (diff)clang.src/include/clang/Basic/AttrDocs.td
The file was modified/cfe/trunk/lib/CodeGen/CGObjCMac.cpp (diff)clang.src/lib/CodeGen/CGObjCMac.cpp
The file was modified/cfe/trunk/lib/Sema/SemaDeclAttr.cpp (diff)clang.src/lib/Sema/SemaDeclAttr.cpp
The file was modified/cfe/trunk/test/CodeGenObjC/non-lazy-classes.m (diff)clang.src/test/CodeGenObjC/non-lazy-classes.m
The file was modified/cfe/trunk/test/Misc/pragma-attribute-supported-attributes-list.test (diff)clang.src/test/Misc/pragma-attribute-supported-attributes-list.test
The file was added/cfe/trunk/test/SemaObjC/attr-objc-non-lazy.mclang.src/test/SemaObjC/attr-objc-non-lazy.m
Revision 353115 by epilk:
[SemaObjC] Don't infer the availabilty of +new from -init if the receiver has Class type

rdar://47713266

Differential revision: https://reviews.llvm.org/D57712
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Sema/SemaExprObjC.cpp (diff)clang.src/lib/Sema/SemaExprObjC.cpp
The file was modified/cfe/trunk/test/SemaObjC/infer-availability-from-init.m (diff)clang.src/test/SemaObjC/infer-availability-from-init.m
Revision 353114 by evandro:
[PATCH] [TargetLibraryInfo] Update run time support for Windows

It seems that the run time for Windows has changed and supports more math
functions than before.  Since LLVM requires at least VS2015, I assume that
this is the run time that would be redistributed with programs built with
Clang.  Thus, I based this update on the header file `math.h` that
accompanies it.

This patch addresses the PR40541.  Unfortunately, I have no access to a
Windows development environment to validate it.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/TargetLibraryInfo.cpp (diff)llvm.src/lib/Analysis/TargetLibraryInfo.cpp
The file was modified/llvm/trunk/test/Transforms/InstCombine/double-float-shrink-1.ll (diff)llvm.src/test/Transforms/InstCombine/double-float-shrink-1.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/double-float-shrink-2.ll (diff)llvm.src/test/Transforms/InstCombine/double-float-shrink-2.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/pow-1.ll (diff)llvm.src/test/Transforms/InstCombine/pow-1.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/win-math.ll (diff)llvm.src/test/Transforms/InstCombine/win-math.ll
Revision 353113 by arsenm:
GlobalISel: Enforce operand types for constants

A number of of tests were using imm operands, not cimm. Since CSE
relies on the exact ConstantInt* pointer used, and implicit
conversions are generally evil, also enforce the bitsize of the types.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpp (diff)llvm.src/lib/CodeGen/MachineVerifier.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/localizer.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/localizer.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/regbankselect-default.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/regbankselect-default.mir
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-binop.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/select-binop.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/inst-select-implicit-def.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/inst-select-implicit-def.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-and.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-icmp.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-or.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-select.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-xor.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-default.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-default.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sadde.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssube.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uadde.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/regbankselect-usube.mir
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-legalize-consts.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/arm-legalize-consts.mir
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
The file was modified/llvm/trunk/test/CodeGen/ARM/GlobalISel/select-revsh.mir (diff)llvm.src/test/CodeGen/ARM/GlobalISel/select-revsh.mir
The file was modified/llvm/trunk/test/CodeGen/X86/GlobalISel/select-ashr-scalar.mir (diff)llvm.src/test/CodeGen/X86/GlobalISel/select-ashr-scalar.mir
The file was modified/llvm/trunk/test/CodeGen/X86/GlobalISel/select-lshr-scalar.mir (diff)llvm.src/test/CodeGen/X86/GlobalISel/select-lshr-scalar.mir
The file was modified/llvm/trunk/test/CodeGen/X86/GlobalISel/select-shl-scalar.mir (diff)llvm.src/test/CodeGen/X86/GlobalISel/select-shl-scalar.mir
The file was modified/llvm/trunk/test/Verifier/test_g_constant.mir (diff)llvm.src/test/Verifier/test_g_constant.mir
The file was modified/llvm/trunk/test/Verifier/test_g_fconstant.mir (diff)llvm.src/test/Verifier/test_g_fconstant.mir
The file was modified/llvm/trunk/test/Verifier/test_phis_precede_nonphis.mir (diff)llvm.src/test/Verifier/test_phis_precede_nonphis.mir
Revision 353112 by arsenm:
GlobalISel: Verify g_select

Factor the common vector element consistency check many instructions
need out, although this makes the error messages worse.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpp (diff)llvm.src/lib/CodeGen/MachineVerifier.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/legalize-inttoptr-xfail-2.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/legalize-inttoptr-xfail-2.mir
The file was modified/llvm/trunk/test/CodeGen/X86/verifier-generic-extend-truncate.mir (diff)llvm.src/test/CodeGen/X86/verifier-generic-extend-truncate.mir
The file was modified/llvm/trunk/test/Verifier/test_g_addrspacecast.mir (diff)llvm.src/test/Verifier/test_g_addrspacecast.mir
The file was modified/llvm/trunk/test/Verifier/test_g_inttoptr.mir (diff)llvm.src/test/Verifier/test_g_inttoptr.mir
The file was modified/llvm/trunk/test/Verifier/test_g_ptrtoint.mir (diff)llvm.src/test/Verifier/test_g_ptrtoint.mir
The file was added/llvm/trunk/test/Verifier/test_g_select.mirllvm.src/test/Verifier/test_g_select.mir
Revision 353111 by arsenm:
MachineVerifier: Move verification of G_* instructions to function
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MachineVerifier.cpp (diff)llvm.src/lib/CodeGen/MachineVerifier.cpp
Revision 353110 by Vitaly Buka:
[tsan] Disable fgetpwent_r to work around performance issues

This was missed from D54041 when SANITIZER_INTERCEPT_FGETPWENT_R was branched from SANITIZER_INTERCEPT_GETPWENT_R
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc (diff)compiler-rt.src/lib/tsan/rtl/tsan_interceptors.cc
Revision 353109 by sbc:
[WebAssembly] MC: Mark more function aliases as functions

Aliases of functions are now marked as function symbols even if
they are bitcast to some other other non-function type.
This is important for WebAssembly where object and function
symbols can't alias each other.

Fixes PR38866

Differential Revision: https://reviews.llvm.org/D57538
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (diff)llvm.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was added/llvm/trunk/test/MC/WebAssembly/function-alias.llllvm.src/test/MC/WebAssembly/function-alias.ll
Revision 353108 by metzman:
[libFuzzer][Windows] Clean up RawPrint

Summary:
Use `_write` instead of the deprecated alias `write` on Windows.
Also, remove comment saying RawPrint is untested on Windows.

Reviewers: vitalybuka

Reviewed By: vitalybuka

Subscribers: vitalybuka

Differential Revision: https://reviews.llvm.org/D57589
Change TypePath in RepositoryPath in Workspace
The file was modified/compiler-rt/trunk/lib/fuzzer/FuzzerIOWindows.cpp (diff)compiler-rt.src/lib/fuzzer/FuzzerIOWindows.cpp
Revision 353107 by arsenm:
MIR: Validate LLT types when parsing
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/MIRParser/MIParser.cpp (diff)llvm.src/lib/CodeGen/MIRParser/MIParser.cpp
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid10.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid10.mir
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid4.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid4.mir
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid5.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid5.mir
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid6.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid6.mir
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid7.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid7.mir
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid8.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid8.mir
The file was added/llvm/trunk/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid9.mirllvm.src/test/CodeGen/MIR/AArch64/parse-low-level-type-invalid9.mir
Revision 353106 by spatel:
[CGP] fix bogus test names/comments; NFC

Inverted operand 0 and operand 1.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll (diff)llvm.src/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
Revision 353104 by sbc:
[llvm-readobj] Report more WebAssembly symbol info

Differential Revision: https://reviews.llvm.org/D57695
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/MC/WebAssembly/debug-info.ll (diff)llvm.src/test/MC/WebAssembly/debug-info.ll
The file was modified/llvm/trunk/tools/llvm-readobj/WasmDumper.cpp (diff)llvm.src/tools/llvm-readobj/WasmDumper.cpp
Revision 353103 by spatel:
[CGP] add tests for usubo; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll (diff)llvm.src/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
Revision 353102 by arsenm:
GlobalISel: Fix not calling observer when legalizing bitcount ops

This was hiding bugs from never legalizing the source type.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)llvm.src/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz-zero-undef.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ctlz.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-ctpop.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-ctpop.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz-zero-undef.mir
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir (diff)llvm.src/test/CodeGen/AMDGPU/GlobalISel/legalize-cttz.mir
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp (diff)llvm.src/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Revision 353101 by arsenm:
AMDGPU: Don't rematerialize mov with implicit operands

This was pulling the mov used for register indexing on gfx9 out of the
loop.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cpp (diff)llvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/AMDGPU/no-remat-indirect-mov.mirllvm.src/test/CodeGen/AMDGPU/no-remat-indirect-mov.mir
Revision 353100 by yln:
[SanitizerCoverage] Clang crashes if user declares `__sancov_lowest_stack` variable

Summary:
If the user declares or defines `__sancov_lowest_stack` with an
unexpected type, then `getOrInsertGlobal` inserts a bitcast and the
following cast fails:
```
Constant *SanCovLowestStackConstant =
       M.getOrInsertGlobal(SanCovLowestStackName, IntptrTy);
SanCovLowestStack = cast<GlobalVariable>(SanCovLowestStackConstant);
```

This variable is a SanitizerCoverage implementation detail and the user
should generally never have a need to access it, so we emit an error
now.

rdar://problem/44143130

Reviewers: morehouse

Differential Revision: https://reviews.llvm.org/D57633
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Instrumentation/SanitizerCoverage.cpp (diff)llvm.src/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was added/llvm/trunk/test/Instrumentation/SanitizerCoverage/stack-depth-variable-declared-by-user.llllvm.src/test/Instrumentation/SanitizerCoverage/stack-depth-variable-declared-by-user.ll