SSAReconstruct.xcc
Sebastian Hack (sebastian.hackens-lyon.fr). Quentin Colombet (quentin.colombetens-lyon.fr).
Copyright 2002 - 2007 STMicroelectronics.
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.
OperationArgumentList_memory— This OperationArgumentList memory.
static inline Memory OperationArgumentList_memory(const_OperationArgumentList this) { return OperationArgumentList_MEMORY(this); }
OperationArgumentList_isEmpty -- True iff this OperationArgumentList is empty. OperationArgumentList_isSingle -- True iff this OperationArgumentList has a single entry.
#define OperationArgumentList_isEmpty(this) IDList_isEmpty(OperationArgumentList____(this)) #define OperationArgumentList_isSingle(this) IDList_isSingle(OperationArgumentList____(this))
OperationArgumentList_count— Count items in the OperationArgumentList.
- Return
- The count of items in the OperationArgumentList.
static inline int32_t OperationArgumentList_count(const_OperationArgumentList this) { return OperationArgumentList_COUNT(this); }
OperationArgumentList_firstItem— First item of the OperationArgumentList.
- Return
- Pointer to the firstItem.
static inline OperationArgument OperationArgumentList_firstItem(const_OperationArgumentList this) { return (OperationArgument)OperationArgumentList_FIRSTITEM(this); }
OperationArgumentList_lastItem— Last item of the OperationArgumentList.
- Return
- Pointer to the lastItem.
static inline OperationArgument OperationArgumentList_lastItem(const_OperationArgumentList this) { return (OperationArgument)OperationArgumentList_LASTITEM(this); }
OperationArgumentList_FOREACH_OperationArgument— Iterate from firstItem to lastItem OperationArgument.
Exiting OperationArgumentList_FOREACH_OperationArgument with +break+ or +return+ is allowed.
- +iter+
- OperationArgument set to each item.
#define OperationArgumentList_FOREACH_OperationArgument(this, opAndIdx) { \ IDList_FOREACH(OperationArgumentList____(this), OperationArgument_, opAndIdx) { #define OperationArgumentList_FOREACH_SYNC IDList_FOREACH_SYNC #define OperationArgumentList_ENDEACH_OperationArgument \ } IDList_ENDEACH; \ }
OperationArgumentList_FORBACK_OperationArgument— Iterate from lastItem to firstItem OperationArgument.
Exiting OperationArgumentList_FORBACK with +break+ or +return+ is allowed.
- +iter+
- OperationArgument set to each item.
#define OperationArgumentList_FORBACK_OperationArgument(this, opAndIdx) { \ IDList_FORBACK(OperationArgumentList____(this), OperationArgument_, opAndIdx) { #define OperationArgumentList_ENDBACK_OperationArgument \ } IDList_ENDBACK; \ }
OperationArgumentList_push— Make and push an item as lastItem on the OperationArgumentList.
- Return
- The pushed OperationArgument.
static inline OperationArgument OperationArgumentList_push(OperationArgumentList this) { return (OperationArgument)IDList_push(OperationArgumentList____(this), sizeof(OperationArgument_)); }
OperationArgumentList_PUSH— Macro used to OperationArgumentList_push value types.
#define OperationArgumentList_PUSH(this, value) \ IDList_PUSH(OperationArgumentList____(this), OperationArgument_, value)
OperationArgumentList_put— Make and put an item as firstItem on the OperationArgumentList.
- +itemSize+
- The item size in bytes.
- Return
- The put OperationArgument.
static inline OperationArgument OperationArgumentList_put(OperationArgumentList this) { return (OperationArgument)IDList_put(OperationArgumentList____(this), sizeof(OperationArgument_)); }
OperationArgumentList_insert— Make and insert an item before a given item on the OperationArgumentList.
- +before+
- The item to insert before.
- Return
- The inserted OperationArgument.
static inline OperationArgument OperationArgumentList_insert(OperationArgumentList this, OperationArgument before) { return (OperationArgument)IDList_insert(OperationArgumentList____(this), before, sizeof(OperationArgument_)); }
OperationArgumentList_append— Make and append an item after a given item on the OperationArgumentList.
- +after+
- The item to append after.
- Return
- The inserted OperationArgument.
static inline OperationArgument OperationArgumentList_append(OperationArgumentList this, OperationArgument after) { return (OperationArgument)IDList_append(OperationArgumentList____(this), after, sizeof(OperationArgument_)); }
OperationArgumentList_pop— Pop and release the lastItem OperationArgumentList item.
static inline void OperationArgumentList_pop(OperationArgumentList this, IDListItemRelease release) { IDList_pop(OperationArgumentList____(this), release); }
OperationArgumentList_drop— Drop and release the firstItem OperationArgumentList item.
static inline void OperationArgumentList_drop(OperationArgumentList this, IDListItemRelease release) { IDList_drop(OperationArgumentList____(this), release); }
OperationArgumentList_remove— Remove and release an item from this OperationArgumentList.
static inline void OperationArgumentList_remove(OperationArgumentList this, OperationArgument item, IDListItemRelease release) { IDList_remove(OperationArgumentList____(this), item, release); }
OperationArgumentList_rotate— Rotate the list so that item at +index+ becomes firstItem (index 0).
static inline void OperationArgumentList_rotate(OperationArgumentList this, int32_t index) { IDList_rotate(OperationArgumentList____(this), index); }
OperationResultList_memory— This OperationResultList memory.
static inline Memory OperationResultList_memory(const_OperationResultList this) { return OperationResultList_MEMORY(this); }
OperationResultList_isEmpty -- True iff this OperationResultList is empty. OperationResultList_isSingle -- True iff this OperationResultList has a single entry.
#define OperationResultList_isEmpty(this) IDList_isEmpty(OperationResultList____(this)) #define OperationResultList_isSingle(this) IDList_isSingle(OperationResultList____(this))
OperationResultList_count— Count items in the OperationResultList.
- Return
- The count of items in the OperationResultList.
static inline int32_t OperationResultList_count(const_OperationResultList this) { return OperationResultList_COUNT(this); }
OperationResultList_firstItem— First item of the OperationResultList.
- Return
- Pointer to the firstItem.
static inline OperationResult OperationResultList_firstItem(const_OperationResultList this) { return (OperationResult)OperationResultList_FIRSTITEM(this); }
OperationResultList_lastItem— Last item of the OperationResultList.
- Return
- Pointer to the lastItem.
static inline OperationResult OperationResultList_lastItem(const_OperationResultList this) { return (OperationResult)OperationResultList_LASTITEM(this); }
OperationResultList_FOREACH_OperationResult— Iterate from firstItem to lastItem OperationResult.
Exiting OperationResultList_FOREACH_OperationResult with +break+ or +return+ is allowed.
- +iter+
- OperationResult set to each item.
#define OperationResultList_FOREACH_OperationResult(this, opAndIdx) { \ IDList_FOREACH(OperationResultList____(this), OperationResult_, opAndIdx) { #define OperationResultList_FOREACH_SYNC IDList_FOREACH_SYNC #define OperationResultList_ENDEACH_OperationResult \ } IDList_ENDEACH; \ }
OperationResultList_FORBACK_OperationResult— Iterate from lastItem to firstItem OperationResult.
Exiting OperationResultList_FORBACK with +break+ or +return+ is allowed.
- +iter+
- OperationResult set to each item.
#define OperationResultList_FORBACK_OperationResult(this, opAndIdx) { \ IDList_FORBACK(OperationResultList____(this), OperationResult_, opAndIdx) { #define OperationResultList_ENDBACK_OperationResult \ } IDList_ENDBACK; \ }
OperationResultList_push— Make and push an item as lastItem on the OperationResultList.
- Return
- The pushed OperationResult.
static inline OperationResult OperationResultList_push(OperationResultList this) { return (OperationResult)IDList_push(OperationResultList____(this), sizeof(OperationResult_)); }
OperationResultList_PUSH— Macro used to OperationResultList_push value types.
#define OperationResultList_PUSH(this, value) \ IDList_PUSH(OperationResultList____(this), OperationResult_, value)
OperationResultList_put— Make and put an item as firstItem on the OperationResultList.
- +itemSize+
- The item size in bytes.
- Return
- The put OperationResult.
static inline OperationResult OperationResultList_put(OperationResultList this) { return (OperationResult)IDList_put(OperationResultList____(this), sizeof(OperationResult_)); }
OperationResultList_insert— Make and insert an item before a given item on the OperationResultList.
- +before+
- The item to insert before.
- Return
- The inserted OperationResult.
static inline OperationResult OperationResultList_insert(OperationResultList this, OperationResult before) { return (OperationResult)IDList_insert(OperationResultList____(this), before, sizeof(OperationResult_)); }
OperationResultList_append— Make and append an item after a given item on the OperationResultList.
- +after+
- The item to append after.
- Return
- The inserted OperationResult.
static inline OperationResult OperationResultList_append(OperationResultList this, OperationResult after) { return (OperationResult)IDList_append(OperationResultList____(this), after, sizeof(OperationResult_)); }
OperationResultList_pop— Pop and release the lastItem OperationResultList item.
static inline void OperationResultList_pop(OperationResultList this, IDListItemRelease release) { IDList_pop(OperationResultList____(this), release); }
OperationResultList_drop— Drop and release the firstItem OperationResultList item.
static inline void OperationResultList_drop(OperationResultList this, IDListItemRelease release) { IDList_drop(OperationResultList____(this), release); }
OperationResultList_remove— Remove and release an item from this OperationResultList.
static inline void OperationResultList_remove(OperationResultList this, OperationResult item, IDListItemRelease release) { IDList_remove(OperationResultList____(this), item, release); }
OperationResultList_contains— Test if this OperationResultList contains the given OperationResult.
static inline bool OperationResultList_contains(const_OperationResultList this, OperationResult item) { return IDList_contains(OperationResultList____(this), item); }
OperationResultList_transfer— Transfer all items from this OperationResultList at the end of that OperationResultList.
static inline void OperationResultList_transfer(OperationResultList this, OperationResultList that) { IDList_transfer(OperationResultList____(this), OperationResultList____(that)); }
OperationResultList_sort— Sort this OperationResultList according to the +compare+ compare function.
- Return
- False iff this IDList was already sorted.
static inline bool OperationResultList_sort(OperationResultList this, IDListItemCompare compare) { return IDList_sort(OperationResultList____(this), compare); }
Set the definition Index references a temporary only in results
void DefUses_setDef(DefUses this, struct Operation_*def, int32_t index);
Add the usage represented by use operation and index to the list of uses. Index references a temporary only in arguments Post: this.USES = this.USES@pre->including(OperationArgument(use, index))
void DefUses_addUse(DefUses this, struct Operation_*use, int32_t index);
Add the usage represented by use operation and index to the list of uses iff it was not already in the list. Index references a temporary only in arguments Post: this.USES = this.USES@pre->including(OperationArgument(use, index)) Return true if element has been added, false if it already inside
bool DefUses_addUniqueUse(DefUses this, struct Operation_*use, int32_t index);
Remove the usage represented by use operation and index. Post: result = true implies let usage = this.USES->any(it | it.OPERATION = use and it.INDEX = index) in this.USES = this.USES@pre->excluding(usage) Return: True if such usage has been found, false otherwise
bool DefUses_removeUse(DefUses this, struct Operation_*use, int32_t index);
printArgIdx is here for backward compatibility. We should remove it when we update tests references.
bool DefUses_pretty(DefUses this, FILE* file, bool printArgIdx);