Bruno Cardoso Lopes
Bruno Cardoso Lopes
@seven-mile uses this for casts in https://github.com/llvm/clangir/pull/591, we should do the same for the other ops if possible.
LLVM lowering doesn't yet include debug information, nor CIRGen currently emits it in any form. Most of the missing parts are tracked by functions in `UnimplementedFeatures::*`. This issue can be...
We currently don't emit ARM64 specific intrinsics/builtins, nor none for other arches as well. See `clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp` for the paths full of asserts. The suggested way to tackle these are by...
From `clang/test/CIR/CodeGen/pointer-arith-ext.c`: ``` ... // FIXME: add support for the remaining ones. // FP f5(FP a, int b) { return a + b; } // FP f5_1(FP a, int b)...
Some reference: _Originally posted by @bcardosolopes in https://github.com/llvm/clangir/issues/578#issuecomment-2095005990_
Take this example: ``` %1 = ... %2 = cir.vec.create(%1, %1 : !s32i, !s32i) : !cir.vector ``` This is building a vector with two elements `[%1, %1]`, right? Assuming I'm...
There are many asserts for paths involving OpenCL, any incremental work in this direction would be much appreciated. (cc @sommerlukas)
Note for the future: if we get a `cir.init_array` and `cir.init_struct` ops I believe we can better represent these. _Originally posted by @bcardosolopes in https://github.com/llvm/clangir/pull/441#discussion_r1476837190_
I'd prefer if we could raise this initialization a bit, it shouldn't block progress though. Create an issue to track it. _Originally posted by @bcardosolopes in https://github.com/llvm/clangir/pull/495#discussion_r1525711814_
I believe the root problem here is that CIR lowers `!cir.bool` in a different way than the original clang CodeGen. In the original CodeGen, `bool` glvalues are lowered to LLVM...