Displaying 3 results from an estimated 3 matches for "llvm_gcwrite".
Did you mean:
llvm_gc_write
2004 Oct 22
6
[LLVMdev] Some question on LLVM design
...etermined, for an operation, to implement it as an opcode or as an
intrinsic function?
As I understand it, compilation passes can both lower intrinsics into
opcodes and also replace opcode sequences, so in the end some of them
are interchangeable. For example, why is there a store opcode and a
llvm_gcwrite intrinsic? Couldn't the front-end just produce
stores/volatile stores and then a compilation pass transform them into a
write-barrier if necessary?
A possible view of intrinsics could be "operations that don't depend on
the target architecture, but instead on the language runtime&q...
2004 Oct 23
0
[LLVMdev] Some question on LLVM design
...y intrinsic can be lowered onto an explicit LLVM loop, but
the memcpy intrinsic provides a succinct representation of memory copy
and so stays as such. Plus, it is harder to do the reverse analysis --
prove that a loop is essentially a memcpy().
> For example, why is there a store opcode and a llvm_gcwrite intrinsic?
The 'store' opcode is for generic writes, the gcwrite is specifically
for garbage collection. I think someone else would be able to give you
more information about the GC intrinsics than I am, however.
> Couldn't the front-end just produce stores/volatile stores and the...
2004 Oct 24
0
[LLVMdev] Some question on LLVM design
...ecode
encoding: instructions are encoded more densely than intrinsics.
> As I understand it, compilation passes can both lower intrinsics into
> opcodes and also replace opcode sequences, so in the end some of them
> are interchangeable. For example, why is there a store opcode and a
> llvm_gcwrite intrinsic?
As pointed out by others, these are completely different operations. In
particular, the gcwrite intrinsic is used by the front-end to indicate
that a write-barrier may be needed. Depending on the implementation of
the garbage collector, this may expand to code or just a normal store
i...