Search in sources :

Example 1 with MDKind

use of com.oracle.truffle.llvm.parser.metadata.MDKind in project sulong by graalvm.

the class MDUpgrade method perform.

static void perform(MetadataValueList metadata) {
    final MDNamedNode cuNode = metadata.getNamedNode(MDNamedNode.COMPILEUNIT_NAME);
    if (cuNode == null) {
        return;
    }
    final MDKind dbgKind = metadata.findKind(MDKind.DBG_NAME);
    cuNode.accept(new MDUpgrade(dbgKind));
}
Also used : MDNamedNode(com.oracle.truffle.llvm.parser.metadata.MDNamedNode) MDKind(com.oracle.truffle.llvm.parser.metadata.MDKind)

Example 2 with MDKind

use of com.oracle.truffle.llvm.parser.metadata.MDKind in project sulong by graalvm.

the class Metadata method createAttachment.

private void createAttachment(long[] args, boolean isGlobal) {
    if (args.length > 0) {
        final int offset = args.length % 2;
        final int targetIndex = (int) args[0];
        for (int i = offset; i < args.length; i += 2) {
            final MDKind kind = metadata.getKind(args[i]);
            final MDAttachment attachment = MDAttachment.create(kind, args[i + 1], metadata);
            if (isGlobal) {
                scope.attachGlobalMetadata(targetIndex, attachment);
            } else if (offset == 0) {
                scope.attachFunctionMetadata(attachment);
            } else {
                scope.attachInstructionMetadata(targetIndex, attachment);
            }
        }
    }
}
Also used : MDKind(com.oracle.truffle.llvm.parser.metadata.MDKind) MDAttachment(com.oracle.truffle.llvm.parser.metadata.MDAttachment)

Aggregations

MDKind (com.oracle.truffle.llvm.parser.metadata.MDKind)2 MDAttachment (com.oracle.truffle.llvm.parser.metadata.MDAttachment)1 MDNamedNode (com.oracle.truffle.llvm.parser.metadata.MDNamedNode)1