History log of /llvm-project/clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp (Results 1 – 25 of 30)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# cfe26358 11-Jan-2025 Timm Baeder <tbaeder@redhat.com>

Reapply "[clang] Avoid re-evaluating field bitwidth" (#122289)


# 59bdea24 08-Jan-2025 Timm Bäder <tbaeder@redhat.com>

Revert "[clang] Avoid re-evaluating field bitwidth (#117732)"

This reverts commit 81fc3add1e627c23b7270fe2739cdacc09063e54.

This breaks some LLDB tests, e.g.
SymbolFile/DWARF/x86/no_unique_address-

Revert "[clang] Avoid re-evaluating field bitwidth (#117732)"

This reverts commit 81fc3add1e627c23b7270fe2739cdacc09063e54.

This breaks some LLDB tests, e.g.
SymbolFile/DWARF/x86/no_unique_address-with-bitfields.cpp:

lldb: ../llvm-project/clang/lib/AST/Decl.cpp:4604: unsigned int clang::FieldDecl::getBitWidthValue() const: Assertion `isa<ConstantExpr>(getBitWidth())' failed.

show more ...


# 81fc3add 08-Jan-2025 Timm Baeder <tbaeder@redhat.com>

[clang] Avoid re-evaluating field bitwidth (#117732)

Save the bitwidth value as a `ConstantExpr` with the value set. Remove
the `ASTContext` parameter from `getBitWidthValue()`, so the latter
simply

[clang] Avoid re-evaluating field bitwidth (#117732)

Save the bitwidth value as a `ConstantExpr` with the value set. Remove
the `ASTContext` parameter from `getBitWidthValue()`, so the latter
simply returns the value from the `ConstantExpr` instead of
constant-evaluating the bitwidth expression every time it is called.

show more ...


# d5c8af49 02-Jan-2025 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Consider start index when copying composite array (#121461)

... elements.


# 1f2d9345 19-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Support pointers in __builtin_mem{move,cpy} (#120560)

Unfortunately, that means we can't use the __builtin_bit_cast
implementation for this.


Revision tags: llvmorg-19.1.6
# 30cbd09f 13-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix memcmp/bcmp failures on big-endian hosts (#119851)

See the discussion in

https://github.com/llvm/llvm-project/pull/119678#issuecomment-2539680746
and
https://github.com/llvm/l

[clang][bytecode] Fix memcmp/bcmp failures on big-endian hosts (#119851)

See the discussion in

https://github.com/llvm/llvm-project/pull/119678#issuecomment-2539680746
and
https://github.com/llvm/llvm-project/pull/119544#issuecomment-2539678561

show more ...


# 8713914d 12-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Handle __builtin_memcmp (#119544)


# 74393f3d 11-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode][NFC] Avoid calling ASTContext::getTypeSize() (#119392)

In the case of primitive arrays, we can do this once and reuse the value
for all elements.


# 0fb06172 10-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Check vector element types for eligibility (#119385)

Like we do in ExprConstant.cpp.


# 1fbbf4c4 08-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Pass (float) BitWidth to DoBitCast (#119119)

In certain cases (i.e. long double on x86), the bit with we get from the
floating point semantics is different than the type size we co

[clang][bytecode] Pass (float) BitWidth to DoBitCast (#119119)

In certain cases (i.e. long double on x86), the bit with we get from the
floating point semantics is different than the type size we compute for
the BitCast instruction. Pass this along to DoBitCast, so in there we
can check only the relevant bits for being initialized.

This also fixes a weirdness we still had in DoBitCast.

show more ...


# 416e4cd3 07-Dec-2024 Timm Bäder <tbaeder@redhat.com>

[clang][bytecode][NFC] Remove leftover debug output


# b4150ed1 07-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Check composite bitcasts for indeterminate bits (#118988)


# 2f9cd43a 06-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Check primitive bit casts for indeterminate bits (#118954)

Record bits ranges of initialized bits and check them in
allInitialized().


# b6217f67 05-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix bitcasting from null pointers (#116999)


# abc27039 05-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Pass __builtin_memcpy size along (#118649)

To DoBitCastPtr, so we know how many bytes we want to read.


# 7aec6dc4 04-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Initialize bases when bitcasting (#117179)

Base pointers do not get passed to the callback, so initialize them when iterating bases.


# 12ca72ba 04-Dec-2024 Timm Bäder <tbaeder@redhat.com>

Reapply "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 54db16221c92eb52efbea90ad5b5d2a1d00cda3e.

Check for existence of __SIZOEF_INT128__ so we don't run thos

Reapply "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 54db16221c92eb52efbea90ad5b5d2a1d00cda3e.

Check for existence of __SIZOEF_INT128__ so we don't run those
tests on targets that don't have int128.

show more ...


# 54db1622 04-Dec-2024 Timm Bäder <tbaeder@redhat.com>

Revert "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 4b5e7fa4de54e00df007ae5e2675393fd046aa59.

This breaks builders:
https://lab.llvm.org/buildbot/#/builders

Revert "[clang][bytecode] Handle bitcasts involving bitfields (#116843)"

This reverts commit 4b5e7fa4de54e00df007ae5e2675393fd046aa59.

This breaks builders:
https://lab.llvm.org/buildbot/#/builders/154/builds/8464

I guess some more testing on 32 bit hosts is needed.

show more ...


# 4b5e7fa4 04-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Handle bitcasts involving bitfields (#116843)

Copy the data one bit at a time, leaving optimizations for future work.
Adds a BitcastBuffer that takes care of pushing the bits in th

[clang][bytecode] Handle bitcasts involving bitfields (#116843)

Copy the data one bit at a time, leaving optimizations for future work.
Adds a BitcastBuffer that takes care of pushing the bits in the right
order.

show more ...


Revision tags: llvmorg-19.1.5
# 476b208e 21-Nov-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix ToType/FromType diagnostic ordering (#116988)

We need to check the ToType first, then the FromType. Additionally,
remove qualifiers from the parent type of the field we're emit

[clang][bytecode] Fix ToType/FromType diagnostic ordering (#116988)

We need to check the ToType first, then the FromType. Additionally,
remove qualifiers from the parent type of the field we're emitting a
note for.

show more ...


Revision tags: llvmorg-19.1.4
# dec6324c 17-Nov-2024 Kazu Hirata <kazu@google.com>

[AST] Remove unused includes (NFC) (#116549)

Identified with misc-include-cleaner.


# 1b3da362 05-Nov-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix bitcasting packed bool vectors (#114937)

This is a special case we need to handle. We don't do bitcasting _into_
such vectors yet though.


# 2f13fbfc 05-Nov-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Support bitcasting into float fields (#114825)


# 1f55d771 04-Nov-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode][NFC] Remove unused parameter from pushData() (#114801)


# 3268d51a 04-Nov-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode][NFC] Fix a possible build warning (#114800)

InterpBuiltinBitCast.cpp:95:3: warning: non-void function does not
return a value in all control paths [-Wreturn-type]
95 | }

[clang][bytecode][NFC] Fix a possible build warning (#114800)

InterpBuiltinBitCast.cpp:95:3: warning: non-void function does not
return a value in all control paths [-Wreturn-type]
95 | }
| ^
1 warning generated.

show more ...


12