History log of /llvm-project/clang/lib/AST/ByteCode/Compiler.cpp (Results 76 – 98 of 98)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# eef8116b 07-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Only visit local variables if they have constant init (#107576)

See the comment I added for why this is weird. We might want to have a
different mechanism for this in the future.

[clang][bytecode] Only visit local variables if they have constant init (#107576)

See the comment I added for why this is weird. We might want to have a
different mechanism for this in the future.

Fixes https://github.com/llvm/llvm-project/issues/101801

show more ...


# 60eb9b21 07-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix reinterpret casts of two non-primitive types (#107564)

We don't want to allow e.g. cast from a record to an array or the other
way arround.


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


# a9006bff 02-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix zero-init of first union member (#106962)

... if done via a ImplicitValueInitExpr.
We were already doing this later in visitZeroRecordInitializer().


# e4f3b56d 01-Sep-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix diagnosing reads from temporaries (#106868)

Fix the DeclID not being set in global temporaries and use the same
strategy for deciding if a temporary is readable as the current

[clang][bytecode] Fix diagnosing reads from temporaries (#106868)

Fix the DeclID not being set in global temporaries and use the same
strategy for deciding if a temporary is readable as the current
interpreter.

show more ...


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


# b294951e 30-Aug-2024 yronglin <yronglin777@gmail.com>

[clang][bytecode] Fix the handling of address of a vector (#106558)

The PR https://github.com/llvm/llvm-project/pull/105996 broke taking the
address of a vector:

**compound-literal.c**
```C
ty

[clang][bytecode] Fix the handling of address of a vector (#106558)

The PR https://github.com/llvm/llvm-project/pull/105996 broke taking the
address of a vector:

**compound-literal.c**
```C
typedef int v4i32 __attribute((vector_size(16)));
v4i32 *y = &(v4i32){1,2,3,4};
```
That because the current interpreter handle vector unary operator as a
fallback when the generic code path fail. but the new interpreter was
not. we need to handle `UO_AddrOf` in
`Compiler<Emitter>::VisitVectorUnaryOperator`.

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

show more ...


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


# 2f144ac5 23-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode][NFC] Remove containsErrors check from visitInitializer (#105811)


# 7b4b85b7 23-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Reject void InitListExpr differently (#105802)

This reverts c79d1fa540390f6e37e1ea326153559eeadd0de6 and
125aa10b3d645bd26523a1bc321bb2e6b1cf04e1

Instead, use the previous appr

[clang][bytecode] Reject void InitListExpr differently (#105802)

This reverts c79d1fa540390f6e37e1ea326153559eeadd0de6 and
125aa10b3d645bd26523a1bc321bb2e6b1cf04e1

Instead, use the previous approach but allow void-typed InitListExprs
with 0 initializers.

show more ...


# 38b8e546 23-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode][NFC] Remove containsErrors() check from delegate (#105804)

This check was removed a while ago from visit(), remove it from
delegate() as well.


# b9c4c4cc 22-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix 'if consteval' in non-constant contexts (#104707)

The previous code made this a compile-time decision but it's not.


# db94852b 22-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Allow adding offsets to function pointers (#105641)

Convert them to Pointers, do the offset calculation and then convert
them back to function pointers.


# 125aa10b 22-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix void unary * operators (#105640)

Discard the subexpr.


# c79d1fa5 22-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Don't discard all void-typed expressions (#105625)

For void-types InitListExprs, we need to diagnose them as invalid. But
only if we are _not_ discarding.


# a14c7309 21-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix diagnostic in final ltor cast (#105292)

Don't diagnose volatile reads but diagnose a few other accesses earlier.


# c99347a9 20-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix discarding CompoundLiteralExprs (#104909)


# ba7dadf0 20-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Fix initializing base casts (#104901)

Use delegate() there. To fix a follow-up problem, abort when a cast ends
up on a valid Pointer that isn't a base class.


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


# d27278a8 19-Aug-2024 Timm Baeder <tbaeder@redhat.com>

[clang][bytecode] Discard NullToPointer cast SubExpr (#104782)

So we still properly abort if they fail.


# d082f1f3 18-Aug-2024 Timm Bäder <tbaeder@redhat.com>

[clang][bytecode] Only booleans can be inverted

No need to have the Inv() function be templated.


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


1234