コード例 #1
0
ファイル: irmode.c プロジェクト: qznc/libfirm
ir_tarval *get_mode_minus_one(ir_mode *mode)
{
    assert(mode);
    assert(mode_is_data(mode));

    return mode->minus_one;
}
コード例 #2
0
ファイル: irmode.c プロジェクト: qznc/libfirm
ir_tarval *get_mode_max(ir_mode *mode)
{
    assert(mode);
    assert(mode_is_data(mode));

    return mode->max;
}
コード例 #3
0
ファイル: benode.c プロジェクト: TehMillhouse/libfirm
void be_set_phi_reg_req(ir_node *node, const arch_register_req_t *req)
{
	assert(mode_is_data(get_irn_mode(node)));
	backend_info_t *info = be_get_info(node);
	info->out_infos[0].req = req;
	for (int i = 0, arity = get_irn_arity(node); i < arity; ++i) {
		info->in_reqs[i] = req;
	}
}
コード例 #4
0
ファイル: irmode.c プロジェクト: davidgiven/libfirm
ir_tarval *get_mode_all_one(const ir_mode *mode)
{
    assert(mode_is_data(mode));
    return mode->all_one;
}
コード例 #5
0
ファイル: irmode.c プロジェクト: davidgiven/libfirm
ir_tarval *get_mode_null(const ir_mode *mode)
{
    assert(mode_is_data(mode));
    return mode->null;
}
コード例 #6
0
ファイル: irmode.c プロジェクト: davidgiven/libfirm
ir_tarval *get_mode_min(const ir_mode *mode)
{
    assert(mode_is_data(mode));

    return mode->min;
}
コード例 #7
0
ファイル: instruction.c プロジェクト: bondians/quence
char *validate_instruction(instruction *instr) {
	int argc = symbol_value(argcounts, instr->instruction);
	int cnt = count_args(instr);

	int idx;

	char *err_msg;

	argument *arg;

	if (Is_Meta) {
		argc = cnt;

		err_msg = Meta->validate(instr);
		if (err_msg)
			return err_msg;
	}

	if (cnt != argc) {
		sprintf(
			err_buf,
			"Wrong number of arguments for \"%s\".  Expected %i, parsed %i",
			instr->instruction,
			argc,
			cnt
		);
		return err_buf;
	}

	for (idx = 0, arg = instr->args; idx < cnt; idx++, arg = arg->next) {
		if ((Mode == mode_string) && ! String_Allowed) {
			sprintf(
				err_buf,
				"String arguments are not allowed for \"%s\"",
				instr->instruction
			);
			return err_buf;
		}

		if (Data_Required && ! mode_is_data(Mode)) {
			sprintf(
				err_buf,
				"\"%s\" accepts constant data arguments only",
				instr->instruction
			);
			return err_buf;
		}

		err_msg = validate_argument(arg);
		if (err_msg) {
			sprintf(
				err_buf,
				"%s arg: %s",
				Ordinal(idx),
				err_msg
			);
			return err_buf;
		}

	}

	return NULL;
}