Immediate.xcc

Benoit Dupont de Dinechin (Benoit.Dupont-de-Dinechin@st.com).

Copyright 2002 - 2007 STMicroelectronics. Copyright 1995 - 1998 Commissariat a l'Energie Atomique.

This program is free software; you can redistribute it and/or modify it under the terms of either (at your option): the GNU General Public License (GPL) version 2; the GNU Lesser General Public License (LGPL) version 2.1; any later version of these licences as published by the Free Software Foundation.

ImmediateValue— Type for the largest Immediate value.
typedef int64_t ImmediateValue;
ImmediateConstant— Base class for decoded Immediate constants.
struct ImmediateConstant_ {
  //@args       ImmediateValue value
  ImmediateValue VALUE;         // Value of this ImmediateConstant once resolved.
};
Immediate_name_— Names for the Immediate enumeration.
extern const char *
Immediate_name_(Immediate this);
Immediate_minValue— This Immediate MinValue attribute.
int64_t
Immediate_minValue(Immediate this);
Immediate_maxValue— This Immediate MaxValue attribute.
int64_t
Immediate_maxValue(Immediate this);
ImmediateRelocations— Sequence of Relocation(s).
struct ImmediateRelocations_ {
  int8_t COUNT;
  Relocation ITEMS[ImmediateRelocations_COUNT_MAX];
};
ImmediateRelocations_count— Count of Relocation(s) in this ImmediateRelocations.
static inline int
ImmediateRelocations_count(const_ImmediateRelocations this)
{
  return ImmediateRelocations_COUNT(this);
}
ImmediateRelocations_items— Relocation(s) in this ImmediateRelocations.
static inline const Relocation *
ImmediateRelocations_items(const_ImmediateRelocations this)
{
  return ImmediateRelocations_ITEMS(this);
}
ImmediateRelocations_access— Access a Relocation in this ImmediateRelocations.
static inline Relocation
ImmediateRelocations_access(const_ImmediateRelocations this, int index)
{
  Except_CHECK(index >=0 && index < ImmediateRelocations_COUNT(this));
  return (Relocation)ImmediateRelocations_ITEMS(this)[index];
}
ImmediateRelocations_FOREACH_Relocation— Iterate this ImmediateRelocations.
#define ImmediateRelocations_FOREACH_Relocation(this, relocation) { \
  const Relocation *ImmediateRelocations_ITEMS = ImmediateRelocations_items(this); \
  int ImmediateRelocations_COUNT = ImmediateRelocations_count(this); \
  int ImmediateRelocations_INDEX = 0; \
  for (; ImmediateRelocations_INDEX < ImmediateRelocations_COUNT; \
       ImmediateRelocations_INDEX++) { \
    int relocation = ImmediateRelocations_ITEMS[ImmediateRelocations_INDEX];
#define ImmediateRelocations_ENDEACH_Relocation \
  } \
}
Immediate_relocations— This Immediate Relocations.
const_ImmediateRelocations
Immediate_relocations(Immediate this);
Immediate_canEncode— Check whether this Immediate can encode value.
bool
Immediate_canEncode(Immediate this, int64_t value);