Bruno Cardoso Lopes
Bruno Cardoso Lopes
We don't support that yet. A good place to start is to change `addressSpace()` and `addressSpaceInGlobalVar()` functions to return `true` in `clang/lib/CIR/CodeGen/UnimplementedFeatureGuarding.h`, run `ninja check-clang-cir` and start working over the...
Right now CIRGen mostly uses direct lowering (1 to 1 correspondence between C/C++ and IR), this is not how things are expected to work, since the LLVM emitted is not...
> Fair, I do wonder in the long run if, during LoweringPrepare, we want to promote array values as globals so we get closer to mirror traditional LLVM codegen output...
Find a simple example (parallel_for?) and start paving the way.
@bcardosolopes maybe we should make `cir.array` types mutable too since they allow forward declarations. This would allow us to modify it in place instead of having to rewrite all its...
Now that https://github.com/llvm/clangir/issues/81 is fixed, we need to change operations constraints to only accept CIR types, simple example: ``` ... let arguments = (ins Arg:$kind, AnyType:$lhs, AnyType:$rhs); ``` Should become:...
We can just add aliases for most of the things in CIRGenTypeCache _Originally posted by @bcardosolopes in https://github.com/llvm/clangir/pull/355#discussion_r1431479348_
I can't codegen the second example since destructors are currently broken. Still, I would guess it is not working as expected by the documentation (e.g. destructor of the temporary called...
The original test program now works for me. Destructors are called when falling off the end of a scope. But destructors are not called when jumping out of a scope....