clean up load and stores alot
[oota-llvm.git] / lib / Target / Target.td
index 522a46cbc2164211cf9eb5f62ddd78744ee8382e..bdaa05bf518e8ee8ec249bd7143d99d8e31984e9 100644 (file)
@@ -133,6 +133,8 @@ class Instruction {
   bit isLoad       = 0;     // Is this instruction a load instruction?
   bit isStore      = 0;     // Is this instruction a store instruction?
   bit isTwoAddress = 0;     // Is this a two address instruction?
+  bit isConvertibleToThreeAddress = 0;  // Can this 2-addr instruction promote?
+  bit isCommutable = 0;     // Is this 3 operand instruction commutable?
   bit isTerminator = 0;     // Is this part of the terminator for a basic block?
   bit hasDelaySlot = 0;     // Does this instruction have an delay slot?
 }
@@ -170,6 +172,12 @@ class InstrInfo {
   //
   list<string> TSFlagsFields = [];
   list<int>    TSFlagsShifts = [];
+
+  // Target can specify its instructions in either big or little-endian formats.
+  // For instance, while both Sparc and PowerPC are big-endian platforms, the
+  // Sparc manual specifies its instructions in the format [31..0] (big), while
+  // PowerPC specifies them using the format [0..31] (little).
+  bit isLittleEndianEncoding = 0;
 }
 
 //===----------------------------------------------------------------------===//