- Mar 20, 2024
-
-
Justin Holewinski authored
MSVC/Windows does not support `alloca()`; instead it defines `_alloca()` in `malloc.h`.
-
Nathan Ridge authored
The option --function-arg-placeholders=0 results in placeholders being omitted for class template argument lists. This patch extends the same treatment to variable template argument lists. Fixes https://github.com/clangd/clangd/issues/1976
-
Matteo Franciolini authored
The current implementation is not functional and does not compile. The patch allows to correctly mark a dialect as denied for the purpose of bufferization.
-
YunQiang Su authored
MIPSr6 ISA requires normal load/store instructions support misunaligned memory access, while it is not always do so by hardware. On some microarchitectures or some corner cases it may need support by OS. Don't confuse with pre-R6's lwl/lwr famlily: MIPSr6 doesn't support them, instead, r6 requires lw instruction support misunaligned memory access. So, if -mstrict-align is used for pre-R6, lwl/lwr won't be disabled. If -mstrict-align is used for r6 and the access is not well aligned, some lb/lh instructions will be used to replace lw. This is useful for OS kernels. To be back-compatible with GCC, -m(no-)unaligned-access are also added as Neg-Alias of -m(no-)strict-align.
-
Noah Goldstein authored
This reverts commit d80d5b92. It wasn't a particularly important transform to begin with and caused some codegen regressions on targets that prefer `sitofp` so dropping. Might re-visit along with adding `nneg` flag to `uitofp` so its easily reversable for the backend.
-
Billy Zhu authored
Fixes this bug for the previous recursive DI type PR: https://github.com/llvm/llvm-project/pull/80251#issuecomment-2007254788 . Drawing inspiration from how clang uses DIBuilder to build forward decls, this PR changes how placeholders are created & updated. Instead of requiring each recursive DIType to do in-place mutation, we simply ask for a temporary node as the placeholder, and run RAUW at the end when the concrete node is translated. This has the side effect of simplifying what's needed to add recursion support for a type. Now only one additional method needs to be created for exporting. Concretely, for this PR, `translateImpl` for DICompositeType is back to the state it was before the previous PR, and the only net addition for DICompositeType is `translateTemporaryImpl`. --------- Co-authored-by:
Tobias Gysi <tobias.gysi@nextsilicon.com>
-
Peter Rong authored
When i1 true is used as an index, SExt extends it to i32 -1. This would cause BitVector to overflow. The language manual have specified that the index shall be treated as an unsigned number, this patch fixes that. (https://llvm.org/docs/LangRef.html#insertelement-instruction ) This patch fixes #85717 --------- Signed-off-by:
Peter Rong <PeterRong96@gmail.com>
-
Yeoul Na authored
In `-fbounds-safety`, bounds annotations are considered type attributes rather than declaration attributes. Constructing them as type attributes allows us to extend the attribute to apply nested pointers, which is essential to annotate functions that involve out parameters: `void foo(int *__counted_by(*out_count) *out_buf, int *out_count)`. We introduce a new sugar type to support bounds annotated types, `CountAttributedType`. In order to maintain extra data (the bounds expression and the dependent declaration information) that is not trackable in `AttributedType` we create a new type dedicate to this functionality. This patch also extends the parsing logic to parse the `counted_by` argument as an expression, which will allow us to extend the model to support arguments beyond an identifier, e.g., `__counted_by(n + m)` in the future as specified by `-fbounds-safety`. This also adjusts `__bdos` and array-bounds sanitizer code that already uses `CountedByAttr` to check `CountAttributedType` instead to get the field referred to by the attribute.
-
Craig Topper authored
Specification is here https://github.com/riscv/riscv-isa-manual/blob/main/src/rnmi.adoc CSRs numbers defined here https://github.com/riscv/riscv-isa-manual/blob/main/src/priv-csrs.adoc
-
Craig Topper authored
-
Jonas Devlieghere authored
Outline and correct Doxygen comments in LineEntry.
-
Yaxun (Sam) Liu authored
since it will cause duplicate symbols when the partially linked object is linked again.
-
Jonas Devlieghere authored
This reverts commit 113214e1 as the corresponding change was reverted in a289f66e.
-
Jie Fu authored
llvm-project/lld/MachO/ObjC.cpp:617:12: error: implicit conversion turns string literal into bool: 'const char[55]' to 'bool' [-Werror,-Wstring-conversion] 617 | assert("Tried to read pointer list beyond protocol section end"); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -
Cyndy Ishida authored
* This completes support for verifying every declaration found in a header is discovered in the dylib. Diagnostics are reported for each class for differences that are representable in TBD files. * This patch also now captures unavailable attributes that depend on target triples. This is needed for proper tbd file generation.
-
Alex MacLean authored
This change removes an extra, unneeded debug directive emitted in the PTX at the beginning on non-empty functions: ```nvptx .visible .func (.param .b32 func_retval0) foo( .param .b32 foo_param_0, .param .b32 foo_param_1 ) { .reg .b32 %r<4>; .loc 1 26 0 <---- unneeded (removed by the PR) $L__func_begin0: .loc 1 26 0 ``` -
Fangrui Song authored
-
Fangrui Song authored
Ensure that every InputFile has a non-null file so that we enforce this in the future.
-
Jonas Devlieghere authored
Reverts llvm/llvm-project#85468 because @slackito reports this broke stepping in one of their tests [1] and this patch was meant to be NFC. [1] https://github.com/llvm/llvm-project/commit/d5a277d309e92b1d3e493da6036cffdf815105b1#commitcomment-139991120
-
Med Ismail Bennani authored
This patch exposes the missing `eBroadcastBitSymbolsChanged` event bit in `SBTarget`. Signed-off-by:Med Ismail Bennani <ismail@bennani.ma>
-
Qizhi Hu authored
Fix https://github.com/llvm/llvm-project/issues/85343 When build lambda expression in lambda instantiation, `ThisType` is required in `Sema::CheckCXXThisCapture` to build `this` capture. Set `this` type by import `Sema::CXXThisScopeRAII` and it will be used later in lambda expression transformation. Co-authored-by:
huqizhi <836744285@qq.com>
-
Thomas Preud'homme authored
This fixes the following failure when doing a clean build (in particular no .ninja* lying around) of lib/libMLIRMemRefToLLVM.a only: ``` In file included from mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp:18: mlir/include/mlir/Dialect/Func/IR/FuncOps.h:29:10: fatal error: mlir/Dialect/Func/IR/FuncOps.h.inc: No such file or directory ```
-
Jonas Devlieghere authored
Reverts llvm/llvm-project#84990 because this causes a full rebuild after the commit hash changes.
-
Fangrui Song authored
This avoids many invokeELFT in `link`.
-
Jiahan Xie authored
Add IRTranslator for scalable vector load instruction and include corresponding tests with alignment argument included, which can be smaller/equal/larger than element size or smaller/equal/larger than the minimum total vector size.
-
Lei Wang authored
By design, when the nested profile is pre-inliner based, we should fully honor pre-inliner decision, fix it by setting threshold to zero. We observed a perf win on one internal service, no negative impact for other big services.
-
Fangrui Song authored
-
dhruvachak authored
A kernel implicit parameter (dyn_ptr) was introduced some time back. This patch increments the kernel args version for a compiler supporting dyn_ptr. The version will be used by the runtime to determine whether the implicit parameter is generated by the compiler. The versioning is required to support use cases where code generated by an older compiler is linked with a newer runtime. If approved, this patch should be backported to release 18.
-
Florian Mayer authored
Also be consistent about naming SP / FP. This is to prepare for stack history buffer for memtag-stack
-
Fangrui Song authored
Many decodeULEB128/decodeSLEB128 users need to increment the pointer. Add helpers to simplify this common pattern. We don't add `end` and `error` parameters at present because many users don't need them. Pull Request: https://github.com/llvm/llvm-project/pull/85739
-
Alex MacLean authored
-
Noah Goldstein authored
If we only need the signbit `uitofp` simplified to 0, and `sitofp` simplifies to `bitcast`. Closes #85138
-
Noah Goldstein authored
-
Noah Goldstein authored
This cleans up basically all the regressions assosiated from #84688 Proof of all new cases: https://alive2.llvm.org/ce/z/5yYWLb Closes #85445
-
Noah Goldstein authored
-
Michael Jones authored
In a previous patch an "internal_includes" target was created to give access to the macro headers. This patch removes that in favor of individual targets for these headers, better matching the existing code.
-
LLVM GN Syncbot authored
-