FailedChanges

Summary

  1. [libcxx] [Windows] Make a more proper implementation of strftime_l for (details)
  2. dotest.py: Add option to pass extra lldb settings to dotest (details)
  3. [analyzer] Fix SARIF column locations (details)
  4. [DebugInfo] Add option to clang to limit debug info that is emitted for (details)
  5. [InstCombine] Fix worklist management when removing guard intrinsic (details)
  6. [clang][test][NFC] Use more widely supported sanitizer for file (details)
  7. [GVN] fix comment/argument name to match actual implementation. NFC (details)
  8. [LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP (details)
  9. [Driver][test] Fix Driver/hexagon-toolchain-elf.c for (details)
  10. [AArch64][GlobalISel]: Support @llvm.{return,frame}address selection. (details)
  11. Remove trailing `;`. NFC. (details)
  12. [mlir] Use double format when parsing bfloat16 hexadecimal values (details)
  13. [OPENMP]Do not emit special virtual function for NVPTX target. (details)
  14. [DAGCombine] Replace `getIntPtrConstant()` with `getVectorIdxTy()`. (details)
  15. [mlir][Linalg] Update the semantics, verifier and test for Linalg with (details)
  16. -fmodules-codegen should not emit extern templates (details)
  17. fix recent -fmodules-codegen fix test (details)
  18. make -fmodules-codegen and -fmodules-debuginfo work also with PCHs (details)
  19. [mlir] Enable printing of FuncOp in the generic form. (details)
  20. [OPENMP]Do not use RTTI by default for NVPTX devices. (details)
  21. [mlir] Refactor ModuleState into AsmState and expose it to users. (details)
  22. [remark][diagnostics] Using clang diagnostic handler for IR input files (details)
  23. [mlir][spirv] Properly support SPIR-V conversion target (details)
  24. [codegen,amdgpu] Enhance MIR DIE and re-arrange it for AMDGPU. (details)
  25. [LIBOMPTARGET] Do not increment/decrement the refcount for "declare (details)
  26. Fix windows bot failures in c410adb092c9cb51ddb0b55862b70f2aa8c5b16f (details)
  27. [libcxx] Use C11 thread API on Fuchsia (details)
  28. [mlir] : Fix ViewOp shape folder for identity affine maps (details)
  29. [X86] Swap the 0 and the fudge factor in the constant pool for the (details)
  30. [X86] Drop an unneeded FIXME. NFC (details)
  31. [amdgpu] Fix typos in a test case. (details)
  32. [Win64] Handle FP arguments more gracefully under -mno-sse (details)
  33. Allow /D flags absent during PCH creation under msvc-compat (details)
  34. [X86] ABI compat bugfix for MSVC vectorcall (details)
  35. [Concepts] Type Constraints (details)
  36. [BranchAlign] Add master --x86-branches-within-32B-boundaries flag (details)
  37. DWARFDebugLine.cpp: Restore LF line endings (details)
  38. Modify test to use -S instead of -c so that it works when an external (details)
Commit 337e4359645ebd0f35136dbec9b51c48b9071f9c by martin
[libcxx] [Windows] Make a more proper implementation of strftime_l for
mingw with msvcrt.dll
This also makes this function consistent with the rest of the libc++
provided fallbacks.
The locale support in msvcrt.dll is very limited anyway; it can only be
configured processwide, not per thread, and it only seems to support the
locales "C" and "" (the user set locale), so it's hard to make any
meaningful automatic test for it. But manually tested, this change does
make time formatting locale code in libc++ output times in the user
requested format, when using locale "".
Differential Revision: https://reviews.llvm.org/D69554
The file was modifiedlibcxx/src/support/win32/locale_win32.cpp (diff)
The file was modifiedlibcxx/include/support/win32/locale_win32.h (diff)
Commit b53d44b17a1685e405415cd32c4b6eb89cc4c3a1 by Adrian Prantl
dotest.py: Add option to pass extra lldb settings to dotest
The primary motivation for this is to add another dimension to the Swift
LLDB test matrix, but this seems generally useful.
Differential Revision: https://reviews.llvm.org/D72662
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py (diff)
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py (diff)
Commit 5ee616a710bcb52cf9f1f7951644d098d38e7b6a by jranieri
[analyzer] Fix SARIF column locations
Differential revision: https://reviews.llvm.org/D70689
The file was modifiedclang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c (diff)
The file was modifiedclang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif (diff)
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp (diff)
The file was modifiedclang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif (diff)
Commit 651128f557229e79598e22102edb7fad3bf288c0 by akhuang
[DebugInfo] Add option to clang to limit debug info that is emitted for
classes.
Summary: This patch adds an option to limit debug info by only emitting
complete class type information when its constructor is emitted. This
applies to classes that have nontrivial user defined constructors.
I implemented the option by adding another level to `DebugInfoKind`, and
a flag `-flimit-debug-info-constructor`.
Total object file size on Windows, compiling with RelWithDebInfo:
before: 4,257,448 kb
after:  2,104,963 kb
And on Linux
before: 9,225,140 kb
after:  4,387,464 kb
According to the Windows clang.pdb files, here is a list of types that
are no longer complete with this option enabled:
https://reviews.llvm.org/P8182
Reviewers: rnk, dblaikie
Subscribers: aprantl, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72427
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was addedclang/test/CodeGenCXX/debug-info-limited-ctor.cpp
Commit 04e586151e7987089d760662126e247012431e90 by nikita.ppv
[InstCombine] Fix worklist management when removing guard intrinsic
When multiple guard intrinsics are merged into one, currently the result
of eraseInstFromFunction() is returned -- however, this should only be
done if the current instruction is being removed. In this case we're
removing a different instruction and should instead report that the
current one has been modified by returning it.
For this test case, this reduces the number of instcombine iterations
from 5 to 2 (the minimum possible).
Differential Revision: https://reviews.llvm.org/D72558
The file was modifiedllvm/test/Transforms/InstCombine/call-guard.ll (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)
Commit 986202fad41529af8288aca54f2ff62d4c501d71 by Jan Korous
[clang][test][NFC] Use more widely supported sanitizer for file
dependency tests
The tests aren't concerned at all by the actual sanitizer - only by
blacklist being reported as a dependency. We're unfortunately limited by
platform support for any particular sanitizer but we can at least use
one that is widely supported.
Post-commit review: https://reviews.llvm.org/D72729
The file was modifiedclang/test/Frontend/dependency-gen.c (diff)
The file was addedclang/test/Frontend/Inputs/resource_dir_with_sanitizer_blacklist/share/ubsan_blacklist.txt
The file was removedclang/test/Frontend/Inputs/resource_dir_with_cfi_blacklist/share/cfi_blacklist.txt
Commit fe37d9ecaabda4f9948f35bb20c1a13687a7eaca by fedor.sergeev
[GVN] fix comment/argument name to match actual implementation. NFC
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h (diff)
Commit 9ee90ea55c1656b75e40f595dc351fbf667f5b79 by craig.topper
[LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP
This code is untested in tree because the
"APFloat::semanticsPrecision(sem) >= SrcVT.getSizeInBits() - 1" check is
false for most combinations for int and fp types except maybe i32 and
f64. For that you would need i32 to be an illegal type, but f64 to be
legal and have custom handling for legalizing the split sint_to_fp. The
precision check itself was added in 2010 to fix a double rounding issue
in the algorithm that would occur if the sint_to_fp was not able to do
the conversion without rounding.
Differential Revision: https://reviews.llvm.org/D72728
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)
Commit 1ca51c06729d7f7326fcc2a826e07d1c92158dfd by maskray
[Driver][test] Fix Driver/hexagon-toolchain-elf.c for
-DCLANG_DEFAULT_LINKER=lld builds
Reviewed By: nathanchance, sidneym
Differential Revision: https://reviews.llvm.org/D72668
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c (diff)
Commit 6078f2fedcac5797ac39ee5ef3fd7a35ef1202d5 by Amara Emerson
[AArch64][GlobalISel]: Support @llvm.{return,frame}address selection.
These intrinsics expand to a variable number of instructions so just
like in ISelLowering.cpp we use custom code to deal with them.
Committing Tim's original patch.
Differential Revision: https://reviews.llvm.org/D65656
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-returnaddr.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-frameaddr.ll
Commit a3490e3e3d38d502179329f76138d96c5b2bab88 by michael.hliao
Remove trailing `;`. NFC.
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp (diff)
Commit 1bd14ce39293df61888042916a7e43b9e502a4de by riverriddle
[mlir] Use double format when parsing bfloat16 hexadecimal values
Summary: bfloat16 doesn't have a valid APFloat format, so we have to use
double semantics when storing it. This change makes sure that
hexadecimal values can be round-tripped properly given this fact.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D72667
The file was modifiedmlir/test/IR/parser.mlir (diff)
The file was modifiedmlir/test/IR/invalid.mlir (diff)
The file was modifiedmlir/lib/Parser/Parser.cpp (diff)
Commit a48600c0a653d34f4af760f117755ed1776adf9d by a.bataev
[OPENMP]Do not emit special virtual function for NVPTX target.
There are no special virtual function handlers (like __cxa_pure_virtual)
defined for NVPTX target, so just emit such functions as null pointers
to prevent issues with linking and unresolved references.
The file was modifiedclang/lib/CodeGen/CGVTables.cpp (diff)
The file was addedclang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
Commit 8d07f8d98c48ee0a9dca450aaf4e1cabc621ff68 by michael.hliao
[DAGCombine] Replace `getIntPtrConstant()` with `getVectorIdxTy()`.
- Prefer `getVectorIdxTy()` as the index operand type for
`EXTRACT_SUBVECTOR` as targets expect different types by overloading
`getVectorIdxTy()`.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff)
The file was addedllvm/test/CodeGen/AMDGPU/extract-subvector.ll
Commit f52d71736b10e87b1aa1880b777dc9462a0085ce by ntv
[mlir][Linalg] Update the semantics, verifier and test for Linalg with
tensors.
Summary: This diff fixes issues with the semantics of linalg.generic on
tensors that appeared when converting directly from HLO to
linalg.generic. The changes are self-contained within MLIR and can be
captured and tested independently of XLA.
The linalg.generic and indexed_generic are updated to:
To allow progressive lowering from the value world (a.k.a tensor values)
to the buffer world (a.k.a memref values), a linalg.generic op accepts
mixing input and output ranked tensor values with input and output
memrefs.
```
%1 = linalg.generic #trait_attribute %A, %B {other-attributes} :
tensor<?x?xf32>,
memref<?x?xf32, stride_specification>
-> (tensor<?x?xf32>)
```
In this case, the number of outputs (args_out) must match the sum of (1)
the number of output buffer operands and (2) the number of tensor return
values. The semantics is that the linalg.indexed_generic op produces
(i.e. allocates and fills) its return values.
Tensor values must be legalized by a buffer allocation pass before most
transformations can be applied. Such legalization moves tensor return
values into output buffer operands and updates the region argument
accordingly.
Transformations that create control-flow around linalg.indexed_generic
operations are not expected to mix with tensors because SSA values do
not escape naturally. Still, transformations and rewrites that take
advantage of tensor SSA values are expected to be useful and will be
added in the near future.
Subscribers: bmahjour, mehdi_amini, rriddle, jpienaar, burmako,
shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72555
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h (diff)
Commit 729530f68fe135ad41d470fbed019cc5e31ac8a5 by l.lunak
-fmodules-codegen should not emit extern templates
If a header contains 'extern template', then the template should be
provided somewhere by an explicit instantiation, so it is not necessary
to generate a copy. Worse, this can lead to an unresolved symbol,
because the codegen's object file will not actually contain functions
from such a template because of the GVA_AvailableExternally, but the
object file for the explicit instantiation will not contain them either
because it will be blocked by the information provided by the module.
Differential Revision: https://reviews.llvm.org/D69779
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp (diff)
The file was addedclang/test/Modules/codegen-extern-template.modulemap
The file was addedclang/test/Modules/codegen-extern-template.cpp
The file was addedclang/test/Modules/codegen-extern-template.h
Commit b5b2cf7af47f1ca04635dae7b787c8a81d5af4c9 by l.lunak
fix recent -fmodules-codegen fix test
The file was modifiedclang/test/Modules/codegen-extern-template.cpp (diff)
The file was removedclang/test/Modules/codegen-extern-template.modulemap
The file was addedclang/test/Modules/Inputs/codegen-extern-template.modulemap
Commit cbc9d22e49b434b6ceb2eb94b67079d02e0a7b74 by l.lunak
make -fmodules-codegen and -fmodules-debuginfo work also with PCHs
Allow to build PCH's (with -building-pch-with-obj and the extra .o file)
with -fmodules-codegen -fmodules-debuginfo to allow emitting shared code
into the extra .o file, similarly to how it works with modules. A bit of
a misnomer, but the underlying functionality is the same. This saves up
to 20% of build time here.
Differential Revision: https://reviews.llvm.org/D69778
The file was modifiedclang/lib/Serialization/ASTReader.cpp (diff)
The file was addedclang/test/PCH/codegen.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp (diff)
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp (diff)
The file was modifiedclang/test/Modules/Inputs/codegen-flags/foo.h (diff)
The file was modifiedclang/lib/Serialization/ASTWriter.cpp (diff)
Commit 20c6e0749461147df19a3b126d1a48106c63c351 by riverriddle
[mlir] Enable printing of FuncOp in the generic form.
Summary: This was previously disabled as FunctionType TypeAttrs could
not be roundtripped in the IR. This has been fixed, so we can now
generically print FuncOp.
Depends On D72429
Reviewed By: jpienaar, mehdi_amini
Differential Revision: https://reviews.llvm.org/D72642
The file was modifiedmlir/lib/IR/AsmPrinter.cpp (diff)
The file was modifiedmlir/test/IR/wrapping_op.mlir (diff)
Commit 23058f9dd4d7e18239fd63b6da52549514b45fda by a.bataev
[OPENMP]Do not use RTTI by default for NVPTX devices.
NVPTX does not support RTTI, so disable it by default.
The file was modifiedclang/lib/Driver/ToolChain.cpp (diff)
The file was addedclang/test/Driver/openmp-offload-gpu.cpp
Commit fa9dd8336bbd1167926f93fe2018d0c47839d5d6 by riverriddle
[mlir] Refactor ModuleState into AsmState and expose it to users.
Summary: This allows for users to cache printer state, which can be
costly to recompute. Each of the IR print methods gain a new overload
taking this new state class.
Depends On D72293
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D72294
The file was modifiedmlir/include/mlir/IR/Operation.h (diff)
The file was modifiedmlir/include/mlir/IR/Module.h (diff)
The file was modifiedmlir/include/mlir/IR/Block.h (diff)
The file was modifiedmlir/include/mlir/IR/Value.h (diff)
The file was modifiedmlir/lib/IR/AsmPrinter.cpp (diff)
The file was addedmlir/include/mlir/IR/AsmState.h
The file was modifiedmlir/include/mlir/IR/OpDefinition.h (diff)
Commit 60d39479221d6bc09060f7816bcd7c54eb286603 by xur
[remark][diagnostics] Using clang diagnostic handler for IR input files
For IR input files, we currently use LLVM diagnostic handler even the
compilation is from clang. As a result, we are not able to use -Rpass to
get the transformation reports. Some warnings are not handled properly
either: We found many mysterious warnings in our ThinLTO backend
compilations in SamplePGO and CSPGO. An example of the warning:
"warning: net/proto2/public/metadata_lite.h:51:21: 0.02% (1 / 4999)"
This turns out to be a warning by Wmisexpect, which is supposed to be
filtered out by default. But since the filter is in clang's diagnostic
hander, we emit these incomplete warnings from LLVM's diagnostic
handler.
This patch uses clang diagnostic handler for IR input files. We create a
fake backendconsumer just to install the diagnostic handler.
With this change, we will have proper handling of all the warnings and
we can use -Rpass* options in IR input files compilation. Also note that
with is patch, LLVM's diagnostic options, like
"-mllvm -pass-remarks=*", are no longer be able to get optimization
remarks.
Differential Revision: https://reviews.llvm.org/D72523
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp (diff)
The file was addedclang/test/CodeGen/Inputs/thinlto_expect2.proftext
The file was modifiedclang/test/CodeGen/thinlto-diagnostic-handler-remarks-with-hotness.ll (diff)
The file was addedclang/test/CodeGen/thinlto-clang-diagnostic-handler-in-be.c
The file was addedclang/test/CodeGen/Inputs/thinlto_expect1.proftext
Commit 47c6ab2b97773ee5fb360fc093a5824be64b8c68 by antiagainst
[mlir][spirv] Properly support SPIR-V conversion target
This commit defines a new SPIR-V dialect attribute for specifying a
SPIR-V target environment. It is a dictionary attribute containing the
SPIR-V version, supported extension list, and allowed capability list. A
SPIRVConversionTarget subclass is created to take in the target
environment and sets proper dynmaically legal ops by querying the op
availability interface of SPIR-V ops to make sure they are available in
the specified target environment. All existing conversions targeting
SPIR-V is changed to use this SPIRVConversionTarget. It probes whether
the input IR has a `spv.target_env` attribute, otherwise, it uses the
default target environment: SPIR-V 1.0 with Shader capability and no
extra extensions.
Differential Revision: https://reviews.llvm.org/D72256
The file was modifiedmlir/docs/Dialects/SPIR-V.md (diff)
The file was addedmlir/test/Dialect/SPIRV/target-env.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/TargetAndABI.td (diff)
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp (diff)
The file was modifiedmlir/test/Dialect/SPIRV/target-and-abi.mlir (diff)
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h (diff)
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp (diff)
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp (diff)
The file was modifiedmlir/include/mlir/Dialect/SPIRV/TargetAndABI.h (diff)
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp (diff)
The file was modifiedmlir/lib/Dialect/SPIRV/TargetAndABI.cpp (diff)
The file was modifiedmlir/test/Dialect/SPIRV/TestAvailability.cpp (diff)
Commit 01a4b83154760ea286117ac4de9576b8a215cb8d by michael.hliao
[codegen,amdgpu] Enhance MIR DIE and re-arrange it for AMDGPU.
Summary:
- `dead-mi-elimination` assumes MIR in the SSA form and cannot be
arranged after phi elimination or DeSSA. It's enhanced to handle the
dead register definition by skipping use check on it. Once a register
def is `dead`, all its uses, if any, should be `undef`.
- Re-arrange the DIE in RA phase for AMDGPU by placing it directly after
`detect-dead-lanes`.
- Many relevant tests are refined due to different register assignment.
Reviewers: rampitec, qcolombet, sunfish
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72709
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/select.f16.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll (diff)
The file was modifiedllvm/lib/CodeGen/DeadMachineInstructionElim.cpp (diff)
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.round.f64.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/loop_break.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll (diff)
The file was addedllvm/test/CodeGen/AMDGPU/dead-machine-elim-after-dead-lane.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll (diff)
The file was modifiedllvm/test/CodeGen/AMDGPU/copy-illegal-type.ll (diff)
The file was removedllvm/test/CodeGen/AMDGPU/dead-mi-use-same-intr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll (diff)
Commit e244145ab08ae79ea3d22c2fe479ec084dbd7742 by georgios.rokos
[LIBOMPTARGET] Do not increment/decrement the refcount for "declare
target" objects
The reference counter for global objects marked with declare target is
INF. This patch prevents the runtime from incrementing /decrementing INF
refcounts. Without it, the map(delete: global_object) directive actually
deallocates the global on the device. With this patch, such a directive
becomes a no-op.
Differential Revision: https://reviews.llvm.org/D72525
The file was modifiedopenmp/libomptarget/src/device.cpp (diff)
The file was addedopenmp/libomptarget/test/mapping/delete_inf_refcount.c
The file was modifiedopenmp/libomptarget/src/omptarget.cpp (diff)
The file was modifiedopenmp/libomptarget/src/device.h (diff)
Commit c9ee5e996e3c89a751a35e8b771870e0ec24f3c0 by xur
Fix windows bot failures in c410adb092c9cb51ddb0b55862b70f2aa8c5b16f
(clang diagnostic handler for IR input files)
The file was modifiedclang/test/CodeGen/thinlto-clang-diagnostic-handler-in-be.c (diff)
Commit ab9aefee9fa09957d1a3e76fcc47abda0d002255 by phosek
[libcxx] Use C11 thread API on Fuchsia
On Fuchsia, pthread API is emulated on top of C11 thread API. Using C11
thread API directly is more efficient.
While this implementation is only used by Fuchsia at the moment, it's
not Fuchsia specific, and could be used by other platforms that use C11
threads rather than pthreads in the future.
Differential Revision: https://reviews.llvm.org/D64378
The file was modifiedlibcxx/include/__config (diff)
The file was modifiedlibcxx/include/__threading_support (diff)
Commit ab035647061272b7efa39364c42e48972cebc0ab by ataei
[mlir] : Fix ViewOp shape folder for identity affine maps
Summary: Fix the ViewOpShapeFolder in case of no affine mapping
associated with a Memref construct identity mapping.
Reviewers: nicolasvasilache
Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen,
antiagainst, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72735
The file was modifiedmlir/test/Transforms/canonicalize.mlir (diff)
The file was modifiedmlir/lib/Dialect/StandardOps/Ops.cpp (diff)
Commit 57eb56b83926675dd8a554fc8a8e28ee57278f90 by craig.topper
[X86] Swap the 0 and the fudge factor in the constant pool for the
32-bit mode i64->f32/f64/f80 uint_to_fp algorithm.
This allows us to generate better code for selecting the fixup to load.
Previously when the sign was set we had to load offset 0. And when it
was clear we had to load offset 4. This required a testl, setns, zero
extend, and finally a mul by 4. By switching the offsets we can just
shift the sign bit into the lsb and multiply it by 4.
The file was modifiedllvm/test/CodeGen/X86/fp-cvt.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-inttofp.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pr15309.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-512.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/fildll.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/scalar-int-to-fp.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/fp80-strict-scalar.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/pr44396.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/half.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/uint64-to-float.ll (diff)
Commit 76291e1158c2aedddfe0be0ea69452ea6dc2db24 by craig.topper
[X86] Drop an unneeded FIXME. NFC
The extload on X87 is free.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
Commit 65c8abb14e77b28d8357c52dddb8e0a6b12b4ba2 by michael.hliao
[amdgpu] Fix typos in a test case.
- There are typos introduced due to merge.
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll (diff)
Commit 40cd26c7008183e01d8276396339aea2a99d83d7 by rnk
[Win64] Handle FP arguments more gracefully under -mno-sse
Pass small FP values in GPRs or stack memory according the the normal
convention. This is what gcc -mno-sse does on Win64.
I adjusted the conditions under which we emit an error to check if the
argument or return value would be passed in an XMM register when SSE is
disabled. This has a side effect of no longer emitting an error for FP
arguments marked 'inreg' when targetting x86 with SSE disabled. Our
calling convention logic was already assigning it to FP0/FP1, and then
we emitted this error. That seems unnecessary, we can ignore 'inreg' and
compile it without SSE.
Reviewers: jyknight, aemerson
Differential Revision: https://reviews.llvm.org/D70465
The file was removedllvm/test/CodeGen/X86/nosse-error2.ll
The file was modifiedllvm/lib/Target/X86/X86CallingConv.td (diff)
The file was addedllvm/test/CodeGen/X86/no-sse-x86.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was addedllvm/test/CodeGen/X86/no-sse-win64.ll
Commit 0f9cf42facaf9eff47dc0b9eb7e6ed8803d3bc3b by rnk
Allow /D flags absent during PCH creation under msvc-compat
Summary: Before this patch adding a new /D flag when compiling a source
file that consumed a PCH with clang-cl would issue a diagnostic and then
fail.  With the patch, the diagnostic is still issued but the definition
is accepted.  This matches the msvc behavior.  The fuzzy-pch-msvc.c is a
clone of the existing fuzzy-pch.c tests with some msvc specific rework.
msvc diagnostic:
warning C4605: '/DBAR=int' specified on current command line, but was
not specified when precompiled header was built
Output of the CHECK-BAR test prior to the code change:
<built-in>(1,9): warning: definition of macro 'BAR' does not match
definition in precompiled header [-Wclang-cl-pch]
#define BAR int
         ^
D:\repos\llvm\llvm-project\clang\test\PCH\fuzzy-pch-msvc.c(12,1):
error: unknown type name 'BAR'
BAR bar = 17;
^
D:\repos\llvm\llvm-project\clang\test\PCH\fuzzy-pch-msvc.c(23,4):
error: BAR was not defined
#  error BAR was not defined
    ^
1 warning and 2 errors generated.
Reviewers: rnk, thakis, hans, zturner
Subscribers: mikerice, aganea, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72405
The file was modifiedclang/lib/Lex/PPDirectives.cpp (diff)
The file was addedclang/test/PCH/ms-pch-macro.c
Commit 8e780252a7284be45cf1ba224cabd884847e8e92 by rnk
[X86] ABI compat bugfix for MSVC vectorcall
Summary: Before this change, X86_32ABIInfo::classifyArgument would be
called twice on vector arguments to vectorcall functions. This function
has side effects to track GPR register usage, and this would lead to
incorrect GPR usage in some cases.  The specific case I noticed is from
running out of XMM registers with mixed FP and vector arguments and no
aggregates of any kind. Consider this prototype:
  void __vectorcall vectorcall_indirect_vec(
     double xmm0, double xmm1, double xmm2, double xmm3, double xmm4,
     __m128 xmm5,
     __m128 ecx,
     int edx,
     __m128 mem);
classifyArgument has no effects when called on a plain FP type, but when
called on a vector type, it modifies FreeRegs to model GPR consumption.
However, this should not happen during the vector call first pass.
I refactored the code to unify vectorcall HVA logic with regcall HVA
logic. The conventions pass HVAs in registers differently (expanded vs.
not expanded), but if they do not fit in registers, they both pass them
indirectly by address.
Reviewers: erichkeane, craig.topper
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72110
The file was modifiedclang/include/clang/CodeGen/CGFunctionInfo.h (diff)
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp (diff)
The file was modifiedclang/test/CodeGen/vectorcall.c (diff)
Commit ff1e0fce817e01f0288fad6a2607dd173180aabd by saar
[Concepts] Type Constraints
Add support for type-constraints in template type parameters. Also add
support for template type parameters as pack expansions (where the type
constraint can now contain an unexpanded parameter pack).
Differential Revision: https://reviews.llvm.org/D44352
The file was modifiedclang/lib/Sema/SemaType.cpp (diff)
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp (diff)
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp (diff)
The file was addedclang/test/Parser/cxx2a-constrained-template-param-with-partial-id.cpp
The file was addedclang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp (diff)
The file was addedclang/test/Parser/cxx2a-constrained-template-param.cpp
The file was modifiedclang/include/clang/Sema/ParsedTemplate.h (diff)
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp (diff)
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h (diff)
The file was modifiedclang/lib/Parse/ParseDecl.cpp (diff)
The file was modifiedclang/lib/AST/TextNodeDumper.cpp (diff)
The file was modifiedclang/include/clang/AST/ASTConcept.h (diff)
The file was modifiedclang/lib/AST/DeclTemplate.cpp (diff)
The file was modifiedclang/include/clang/AST/ASTContext.h (diff)
The file was modifiedclang/lib/AST/ODRHash.cpp (diff)
The file was modifiedclang/lib/Sema/SemaTemplate.cpp (diff)
The file was modifiedclang/lib/Sema/TreeTransform.h (diff)
The file was modifiedclang/lib/AST/DeclPrinter.cpp (diff)
The file was modifiedclang/tools/libclang/CIndex.cpp (diff)
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.decl/p3.cpp
The file was modifiedclang/include/clang/Parse/Parser.h (diff)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp (diff)
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td (diff)
The file was modifiedclang/lib/AST/ASTContext.cpp (diff)
The file was modifiedclang/test/SemaTemplate/ms-delayed-default-template-args.cpp (diff)
The file was modifiedclang/lib/AST/ExprCXX.cpp (diff)
The file was modifiedclang/include/clang/AST/ExprCXX.h (diff)
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp (diff)
The file was addedclang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp (diff)
The file was addedclang/test/CXX/temp/temp.param/p10-2a.cpp
The file was modifiedclang/include/clang/Basic/TokenKinds.def (diff)
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp (diff)
The file was modifiedclang/lib/Parse/ParseTemplate.cpp (diff)
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp (diff)
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h (diff)
The file was modifiedclang/include/clang/AST/DeclTemplate.h (diff)
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp (diff)
Commit 1a7398eca2040d232149f18a75b5d78a6521941c by listmail
[BranchAlign] Add master --x86-branches-within-32B-boundaries flag
This flag was originally part of D70157, but was removed as we carved
away pieces of the review. Since we have the nop support checked in, and
it appears mature(*), I think it's time to add the master flag. For now,
it will default to nop padding, but once the prefix padding support
lands, we'll update the defaults.
(*) I can now confirm that downstream testing of the changes which have
landed to date - nop padding and compiler support for suppressions - is
passing all of the functional testing we've thrown at it. There might
still be something lurking, but we've gotten enough coverage to be
confident of the basic approach.
Note that the new flag can be used either when assembling an .s file, or
when using the integrated assembler directly from the compiler. The
later will use all of the suppression mechanism and should always
generate correct code. We don't yet have assembly syntax for the
suppressions, so passing this directly to the assembler w/a raw .s file
may result in broken code. Use at your own risk.
Also note that this isn't the wiring for the clang option. I think the
most recent review for that is D72227, but I've lost track, so that
might be off.
Differential Revision: https://reviews.llvm.org/D72738
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp (diff)
The file was modifiedllvm/test/MC/X86/align-branch-64-1a.s (diff)
Commit aca3e70d2bc0dd89b7d486c2a8eac70d8a89e790 by hstong
DWARFDebugLine.cpp: Restore LF line endings
rG7e02406f6cf180a8c89ce64665660e7cc9dbc23e switched the file to CRLF
line endings.
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp (diff)
Commit c6e69880ae4d9ce4d27bf046292a0a20c3ab3540 by douglas.yung
Modify test to use -S instead of -c so that it works when an external
assembler is used that is not present.
The file was modifiedclang/test/Driver/cc1-spawnprocess.c (diff)