[all-commits] [llvm/llvm-project] da62ed: [clang][Interp] Pass initializer when creating glo...

Timm Bäder via All-commits all-commits at lists.llvm.org
Thu Sep 29 03:51:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: da62ed6ceb12031992d863ce272bc4863505b84b
      https://github.com/llvm/llvm-project/commit/da62ed6ceb12031992d863ce272bc4863505b84b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Interp/Program.h

  Log Message:
  -----------
  [clang][Interp] Pass initializer when creating globals

This is dead code right now but will be used for implementing array
fillers, where we need some information from the initializer when
allocaing the Descriptors.

Differential Revision: https://reviews.llvm.org/D133856


  Commit: 18a5fc52b28e9a612c8c531209f6bda5ff0964b7
      https://github.com/llvm/llvm-project/commit/18a5fc52b28e9a612c8c531209f6bda5ff0964b7
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h

  Log Message:
  -----------
  [clang][Interp][NFC] Remove an unnecessary <vector> include.


  Commit: 1d31549e9373962a1a76eb83b304b0c616aa21e7
      https://github.com/llvm/llvm-project/commit/1d31549e9373962a1a76eb83b304b0c616aa21e7
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h

  Log Message:
  -----------
  [clang][Interp][NFC] Forward-declare Pointer in InterpFrame.h

We don't need the full include here.


  Commit: 1c35f3b93aff7c39832f42f470c45fd24c3a779c
      https://github.com/llvm/llvm-project/commit/1c35f3b93aff7c39832f42f470c45fd24c3a779c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Unify emit() implementations

Instead of two overloads, use a if constexpr to differentiate between
pointer and non-pointer parameters


  Commit: ee2e414d66a4b3b4e1a3bade11168a108f349d8a
      https://github.com/llvm/llvm-project/commit/ee2e414d66a4b3b4e1a3bade11168a108f349d8a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Boolean.h
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Handle sizeof()

Implement visiting UnaryExprOrTypeTraitExprs to handle sizeof()
expressions.

Differential Revision: https://reviews.llvm.org/D133934


  Commit: 7c4cad43309ebce4a9f3c656ca4629f8ac9ed877
      https://github.com/llvm/llvm-project/commit/7c4cad43309ebce4a9f3c656ca4629f8ac9ed877
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/InterpStack.cpp
    M clang/lib/AST/Interp/InterpStack.h

  Log Message:
  -----------
  [clang][Interp][NFC] Make a few InterpStack functions const


  Commit: df1cc801da05a6436f6dc3062ccd490f236cd7ec
      https://github.com/llvm/llvm-project/commit/df1cc801da05a6436f6dc3062ccd490f236cd7ec
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/InterpStack.h

  Log Message:
  -----------
  [clang][Interp] Record item types in InterpStack

The type information is lost when pushing things on the stack. When
later pop()ing items of the wrong type, we can instead simply get
garbage values and those problems are hard to find. Add another stack to
record the type of item we pushed and use that for debugging.

Differential Revision: https://reviews.llvm.org/D133941


  Commit: c090295916a921e809184f589c6830475e293b8b
      https://github.com/llvm/llvm-project/commit/c090295916a921e809184f589c6830475e293b8b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    A clang/test/AST/Interp/enums.cpp

  Log Message:
  -----------
  [clang][Interp] Handle enums

Handle DeclRefExprs of enum types. They are otherwise handled like
integers.

Differential Revision: https://reviews.llvm.org/D134020


  Commit: 202ff42f8990fb0bd0236a413c30dab357fd809a
      https://github.com/llvm/llvm-project/commit/202ff42f8990fb0bd0236a413c30dab357fd809a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp

  Log Message:
  -----------
  [clang][Interp] Rename a local variable to be more specific

It's called BaseSize in the Record class as well, so call it BaseSize
when creating the Record.


  Commit: eadd505b0c054eacba7d0349505ea9ca1acf54f0
      https://github.com/llvm/llvm-project/commit/eadd505b0c054eacba7d0349505ea9ca1acf54f0
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Record.h

  Log Message:
  -----------
  [clang][Interp][NFC] Limit includes to neccessary ones


  Commit: 8f5b061254744dedd95b6c0d03b909b4084611a3
      https://github.com/llvm/llvm-project/commit/8f5b061254744dedd95b6c0d03b909b4084611a3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Record.h

  Log Message:
  -----------
  [clang][Interp][NFC] Make some Record methods const


  Commit: d5360b932ecd6fc7ca45f89d7c87ffb39f7edfe2
      https://github.com/llvm/llvm-project/commit/d5360b932ecd6fc7ca45f89d7c87ffb39f7edfe2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Boolean.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.h
    M clang/lib/AST/Interp/Context.h
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Integral.h
    M clang/lib/AST/Interp/InterpBlock.h
    M clang/lib/AST/Interp/Program.h
    M clang/lib/AST/Interp/Record.h

  Log Message:
  -----------
  [clang][Interp][NFC] Make classes final that can be final


  Commit: 84f1df8aacd0c3eb72f20f91c9af227b65d4c7da
      https://github.com/llvm/llvm-project/commit/84f1df8aacd0c3eb72f20f91c9af227b65d4c7da
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Program.h
    M clang/test/AST/Interp/references.cpp

  Log Message:
  -----------
  [clang][Interp] Properly destruct allocated Records

We are otherwise leaking some memory the records might allocate
themselves.

Differential Revision: https://reviews.llvm.org/D134054


  Commit: f927b71376c198a41f0c578be896bf231a6a5fd1
      https://github.com/llvm/llvm-project/commit/f927b71376c198a41f0c578be896bf231a6a5fd1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Boolean.h

  Log Message:
  -----------
  [clang][Interp] Specify Boolean conversion operartors as (u)int32

Follow up to https://reviews.llvm.org/D133934


  Commit: e8ad1339d441931326554bdc4ec6b7198f289028
      https://github.com/llvm/llvm-project/commit/e8ad1339d441931326554bdc4ec6b7198f289028
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Interp/Program.h

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unused function


  Commit: 7c65d57af0ef20ce28ca9c1efae8e3214d57268d
      https://github.com/llvm/llvm-project/commit/7c65d57af0ef20ce28ca9c1efae8e3214d57268d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h

  Log Message:
  -----------
  [clang][Interp][NFC] Unify the two ReadArg() implementations

Just use a constexpr if here instead of two different implementations.
[#


  Commit: 9837a3bd4b91317b1f84eab9ffc1c3c1c57e59a0
      https://github.com/llvm/llvm-project/commit/9837a3bd4b91317b1f84eab9ffc1c3c1c57e59a0
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Opcodes.td

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unused opcode argument types


  Commit: f55c4b4ee3d11cb8028edeabed91284ec7c3276d
      https://github.com/llvm/llvm-project/commit/f55c4b4ee3d11cb8028edeabed91284ec7c3276d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Disasm.cpp

  Log Message:
  -----------
  [clang][Interp] Print Function address in dump()

It's used in the bytecode dump of the function itself, so useful to
identify which function is being called.


  Commit: 62bf6acae6ebdf0d36b4f3dc6fce6039e2b8de5a
      https://github.com/llvm/llvm-project/commit/62bf6acae6ebdf0d36b4f3dc6fce6039e2b8de5a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/Disasm.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Unifty ReadArg() impl in Disasm.cpp

We can use another if constexpr here to make this shorter and easier to
understand.


  Commit: b721558a91e5baecea5888d75e6550a9404a8fea
      https://github.com/llvm/llvm-project/commit/b721558a91e5baecea5888d75e6550a9404a8fea
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.h

  Log Message:
  -----------
  [clang][Interp][NFC] Make EvalEmitter::isActive() const


  Commit: 971c1b9647420f7d0a8ffde3b7cc3ebe14c61751
      https://github.com/llvm/llvm-project/commit/971c1b9647420f7d0a8ffde3b7cc3ebe14c61751
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2022-09-29 (Thu, 29 Sep 2022)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.h

  Log Message:
  -----------
  [clang][Interp][NFC] Remove unused prototypes


Compare: https://github.com/llvm/llvm-project/compare/90d87dbf4bbc...971c1b964742


More information about the All-commits mailing list