History log of /llvm-project/clang/lib/AST/ByteCode/Compiler.h (Results 1 – 20 of 20)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init
# 58fa55c0 14-Jan-2025 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Add init link for the RVO ptr (#122904)


# ac857f9b 14-Jan-2025 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Change the way we do init chains (#122871)

See the comment in Compiler<>::VisitCXXThisExpr.
We need to mark the InitList explicitly, so we later know what to refer
to when the init

[clang][bytecode] Change the way we do init chains (#122871)

See the comment in Compiler<>::VisitCXXThisExpr.
We need to mark the InitList explicitly, so we later know what to refer
to when the init chain is active.

show more ...


Revision tags: llvmorg-19.1.7
# e86b68ff 28-Dec-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Add support for typeid pointers (#121251)

Add it as another kind of pointer, saving both a `Type*` for the result
of the typeid() expression as well as one for the type of the type

[clang][bytecode] Add support for typeid pointers (#121251)

Add it as another kind of pointer, saving both a `Type*` for the result
of the typeid() expression as well as one for the type of the typeid
expression.

show more ...


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5
# ceaf6e91 25-Nov-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Support ImplicitValueInitExpr for multi-dim arrays (#117312)

The attached test case from
https://github.com/llvm/llvm-project/issues/117294 used to cause an
assertion because we ca

[clang][bytecode] Support ImplicitValueInitExpr for multi-dim arrays (#117312)

The attached test case from
https://github.com/llvm/llvm-project/issues/117294 used to cause an
assertion because we called classifPrim() on an array type.

The new result doesn't crash but isn't exactly perfect either. Since the
problem arises when evaluating an ImplicitValueInitExpr, we have no
proper source location to point to. Point to the caller instead.

show more ...


Revision tags: llvmorg-19.1.4
# ef2a104c 31-Oct-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Start implementing __builtin_bit_cast (#112126)

This is a subset of #68288, with hopefully narrower scope. It does not
support bitcasting to non-integral types yet.
Bitfields are

[clang][bytecode] Start implementing __builtin_bit_cast (#112126)

This is a subset of #68288, with hopefully narrower scope. It does not
support bitcasting to non-integral types yet.
Bitfields are supported, but only if they result in a full byte-sized
final buffer. It does not support casting from null-pointers yet or
casting from indeterminate bits.


The tests are from #68288 and partially from #74775.

The `BitcastBuffer` struct is currently always working in single bits,
but I plan to (try to) optimize this for the common full-byte case.

show more ...


Revision tags: llvmorg-19.1.3
# 9ae41c24 22-Oct-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Create dummy pointers for non-reference DeclRefExprs (#113202)

... with non-constant initializers.


Revision tags: llvmorg-19.1.2
# 55d51dd9 10-Oct-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix temporary lvalue base expression (#111808)

We need to use the MaterializeTemporaryExpr here so the checks in
ExprConstant.cpp do the right thing.


Revision tags: llvmorg-19.1.1
# 95ce78b7 29-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Implement fixed-point-to-int casts (#110417)

And some cleanups around overflow handling.


# 6b62e04e 28-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Implement (N)EQ between fixed point and integral (#110358)

Convert the non-fixed-point side to a fixed-point type before doing the
comparison.


# 048bc672 27-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Start implementing fixed point types (#110216)

Add the primitive type and implement to-bool casts.


# 3ea55d3c 26-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Add a source location to destructor calls (#110121)

The added test case is still diagnosed differently, but I'm not sure
which version is better.


Revision tags: llvmorg-19.1.0
# 3928edec 10-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix local destructor order (#107951)

Add appropriate scopes and use reverse-order iteration in
LocalScope::emitDestructors().


# 6f67c386 08-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix a variable scope problem with continue/break jumps (#107738)

Cleaning up _all_ the scopes is a little too much. Only clean up until
the point here we started the scope relevan

[clang][bytecode] Fix a variable scope problem with continue/break jumps (#107738)

Cleaning up _all_ the scopes is a little too much. Only clean up until
the point here we started the scope relevant for the break/continue
statement.

show more ...


# 78cf9b83 07-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Implement using operator new/operator delete (#107679)

Reuse the __builtin_operator_{new,delete} implementations.


# 83fea8b8 07-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Allow continuing when discarded MemberExpr Base fails (#107231)

We don't need the value in this case, since we're discarding it anyway.
Allow continuing the interpretation but not

[clang][bytecode] Allow continuing when discarded MemberExpr Base fails (#107231)

We don't need the value in this case, since we're discarding it anyway.
Allow continuing the interpretation but note the side effect.

show more ...


# 67f9183c 06-Sep-2024 yronglin <yronglin777@gmail.com>

[clang][bytecode] Implement comparsion operators for vector type (#107258)

Implement ==, !=, <, <=, >, >= comparsion operators for vector type.

---------

Signed-off-by: yronglin <yronglin777@g

[clang][bytecode] Implement comparsion operators for vector type (#107258)

Implement ==, !=, <, <=, >, >= comparsion operators for vector type.

---------

Signed-off-by: yronglin <yronglin777@gmail.com>

show more ...


Revision tags: llvmorg-19.1.0-rc4
# 0f5f440f 03-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Pass FPOptions to floating point ops (#107063)

So we don't have to retrieve them from the InterpFrame, which is slow.


# ee0d7063 28-Aug-2024 yronglin <yronglin777@gmail.com>

[clang][bytecode] Implement constexpr vector unary operators +, -, ~, ! (#105996)

Implement constexpr vector unary operators +, -, ~ and ! .

- Follow the current constant interpreter. All of our

[clang][bytecode] Implement constexpr vector unary operators +, -, ~, ! (#105996)

Implement constexpr vector unary operators +, -, ~ and ! .

- Follow the current constant interpreter. All of our boolean operations
on vector types should be '-1' for the 'truth' type.
- Move the following functions from `Sema` to `ASTContext`, because we
used it in new interpreter.
```C++
QualType GetSignedVectorType(QualType V);
QualType GetSignedSizelessVectorType(QualType V);
```

---------

Signed-off-by: yronglin <yronglin777@gmail.com>

show more ...


Revision tags: llvmorg-19.1.0-rc3
# ca148b21 20-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Support ObjC blocks (#104551)

I started out by adding a new pointer type for blocks, and I was fully
prepared to compile their AST to bytecode and later call them.

... then I f

[clang][bytecode] Support ObjC blocks (#104551)

I started out by adding a new pointer type for blocks, and I was fully
prepared to compile their AST to bytecode and later call them.

... then I found out that the current interpreter doesn't support
calling blocks at all. So we reuse `Function` to support sources other
than `FunctionDecl`s and classify `BlockPointerType` as `PT_FnPtr`.

show more ...


# 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.