Go to the documentation of this file.
61 std::unique_ptr<ImmInfo> result(
new ImmInfo);
64 analyzeImmediateCapabilitiesForFU(*fu, *result);
67 analyzeImmediateCapabilitiesForFU(*mach.
controlUnit(), *result);
73 return result.release();
90 analyzeImmediateCapabilitiesForOperation(hwop, result);
106 using std::make_pair;
112 std::set<const TTAMachine::Bus*> connectedBuses =
114 for (
const Bus* bus : connectedBuses) {
115 if (bus->immediateWidth() < 1) {
121 ImmInfoValue(bus->immediateWidth(), bus->signExtends())));
127 int supportedWidth = it->supportedWidth(*iu);
128 if (supportedWidth < 1) {
FunctionUnit * parentUnit() const
#define assert(condition)
virtual FUPort * port(int operand) const
virtual ControlUnit * controlUnit() const
const std::string & name() const
virtual ImmediateUnitNavigator immediateUnitNavigator() const
static bool isConnected(const TTAMachine::Port &sourcePort, const TTAMachine::Port &destinationPort, const TTAMachine::Guard *guard=NULL)
virtual FunctionUnitNavigator functionUnitNavigator() const
virtual int operationCount() const
virtual Machine * machine() const
static std::set< const TTAMachine::Bus * > connectedSourceBuses(const TTAMachine::Port &port)
virtual HWOperation * operation(const std::string &name) const
static TCEString toUpper(const TCEString &str, const std::locale &loc=std::locale())
virtual InstructionTemplateNavigator instructionTemplateNavigator() const