#
0611fdd3 |
| 02-Dec-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Add simple __builtin_memcpy implementation (#118278)
Not handling all the special- and error cases yet. Just making sure the bitcast code can be used for this as well.
|
#
31bde711 |
| 01-Dec-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Support __builtin_reduce_add (#117672)
|
Revision tags: llvmorg-19.1.4, llvmorg-19.1.3 |
|
#
332ac18e |
| 18-Oct-2024 |
c8ef <c8ef@outlook.com> |
[clang] constexpr built-in abs function. (#112539)
According to [P0533R9](https://wg21.link/P0533R9), the C++ standard
library functions corresponding to the C macros in `[c.math.abs]` are
now `co
[clang] constexpr built-in abs function. (#112539)
According to [P0533R9](https://wg21.link/P0533R9), the C++ standard
library functions corresponding to the C macros in `[c.math.abs]` are
now `constexpr`.
To implement this feature in libc++, we must make the built-in abs
function `constexpr`. This patch adds the implementation of a
`constexpr` abs function for the current constant evaluator and the new
bytecode interpreter.
It is important to note that in 2's complement systems, the absolute
value of the most negative value is out of range. In gcc, it will result
in an out-of-range error and will not be evaluated as constants. We
follow the same approach here.
show more ...
|
Revision tags: llvmorg-19.1.2 |
|
#
fed8695b |
| 09-Oct-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Emit better diagnostic for invalid shufflevector index (#111643)
|
Revision tags: llvmorg-19.1.1 |
|
#
d8a28159 |
| 26-Sep-2024 |
Richard Smith <richard@metafoo.co.uk> |
[clang] implement current direction of CWG2765 for string literal comparisons in constant evaluation (#109208)
Track the identity of each string literal object produced by evaluation
with a global
[clang] implement current direction of CWG2765 for string literal comparisons in constant evaluation (#109208)
Track the identity of each string literal object produced by evaluation
with a global version number. Accept comparisons between literals of the
same version, and between literals of different versions that cannot
possibly be placed in overlapping storage. Treat the remaining
comparisons as non-constant.
---------
Co-authored-by: Timm Baeder <tbaeder@redhat.com>
Co-authored-by: Aaron Ballman <aaron@aaronballman.com>
show more ...
|
Revision tags: llvmorg-19.1.0 |
|
#
d03822d8 |
| 11-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Fix lookup of source locations in implicit ctors (#107992)
Implicit functions may still have a body. The !hasBody() check is
enough.
|
#
9626e84f |
| 03-Sep-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode][NFC] Simplify builtin-functions.cpp (#107118)
The effect is the same, but this version doesn't take as long to
evaluate.
|
Revision tags: llvmorg-19.1.0-rc4 |
|
#
360e4abf |
| 31-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang][bytecode] Diagnose comparisons with literals (#106734)
This requires adding a new opcode for PointerToBoolean casts, since we
otherwise emit too many diagnostics. But that fixes an older pr
[clang][bytecode] Diagnose comparisons with literals (#106734)
This requires adding a new opcode for PointerToBoolean casts, since we
otherwise emit too many diagnostics. But that fixes an older problem
when casting weak pointers to bool.
show more ...
|
#
f1b64277 |
| 20-Aug-2024 |
Mital Ashok <mital@mitalashok.co.uk> |
[Clang][test] Add bytecode interpreter tests for floating comparison functions (#104703)
See also: #94118, 71801707e33c235656b172fa7dfb8662473a95c2
|
Revision tags: llvmorg-19.1.0-rc3 |
|
#
a07aba5d |
| 16-Aug-2024 |
Timm Baeder <tbaeder@redhat.com> |
[clang] Rename all AST/Interp stuff to AST/ByteCode (#104552)
"Interp" clashes with the clang interpreter and people often confuse
this.
|