Comments (2)
Should the type of RTTI pointers be cir.ptr<!s8i> instead of cir.ptr<!u8i>?
The idea when cir.ptr<!u8i>
was first introduced was to basically mean cir.ptr<!void>
, which we didn't have at the time. This is more about having a canonical representation for these "opaque" things that we store. Changing might sound like a reasonable approach, but it's possible whenever these values are needed they are being casted to the appropriated type, did you check that? I'm also against changing all of it to s8, ptrs not related to casted offsets should still be u8, and it's just super confusing to readers to make them s8.
llvm ir 12.0.1
This is old, not even using opaque pointers. As a general advice, I suggest you base up your investigations on top of clang-18 or trunk.
So, similar to LLVM IR, Should the insertion of global variables be centralized at the beginning of the module?
We should do a better job, for sure. LLVM codegen has a somewhat lazy approach for global variables, so it's not exactly like you are pointing out. Any improvements here should definitely account for a similar approach from the original LLVM codegen.
Thanks for pointing out (1) and (2), as you noticed, they are pre-requisites into implementing multiple inheritance.
from clangir.
Thank you for your response. Please review the discussion about the vtable type in this PR. #569
from clangir.
Related Issues (20)
- [ThroughMLIR] cir-opt can not work when lowering ForOp to scf HOT 4
- Add a test for arrays of 3-component extended vectors
- Crash with try statement HOT 1
- [GSoC] Add OpenCL support to compile GPU kernels
- Reinstate #668 and #678 HOT 2
- Verify ZdlPv -> ZdlPvm in `test/CIR/CodeGen/dtors.cpp`
- Verify gep uses moving to i64
- Replace uses of `isa`/`dyn_cast`/`cast`/... member functions HOT 2
- Data layout modeling for CIR types
- Add support for `__atomic_thread_fence` HOT 3
- Add canonicalization passes for cir.complex.create
- Problem with emitting MLIR from CIR: `cir.func` gets `dsolocal` attribute HOT 4
- Non-constant memory order in atomic built-ins HOT 3
- Keep higher level abstraction for runtime memory orders on atomics
- `emit-cir-flat` is a bit broken HOT 2
- Teach op parsers to use enum keyword parsing helpers
- Does CIR support CUDA? HOT 2
- higher level representation for initlist
- Add ternary select op and (maybe) binary boolean op HOT 2
- Debug info should not be emitted when `-g` is not specified
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clangir.