Add comments to describe what these functions actually do.
authorMisha Brukman <brukman+llvm@gmail.com>
Wed, 22 Oct 2003 05:50:40 +0000 (05:50 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Wed, 22 Oct 2003 05:50:40 +0000 (05:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9370 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9InstrSelectionSupport.h

index 7a3c081d1599cb2c180ff5aacac10ead97a19eae..d49863c1c84a72a09af53d048a051399227612f4 100644 (file)
@@ -17,6 +17,7 @@
 #include "llvm/DerivedTypes.h"
 #include "SparcInternals.h"
 
+// Choose load instruction opcode based on type of value
 inline MachineOpCode
 ChooseLoadInstruction(const Type *DestTy)
 {
@@ -39,6 +40,7 @@ ChooseLoadInstruction(const Type *DestTy)
   return 0;
 }
 
+// Choose store instruction opcode based on type of value
 inline MachineOpCode
 ChooseStoreInstruction(const Type *DestTy)
 {
@@ -86,6 +88,11 @@ ChooseAddInstructionByType(const Type* resultType)
 }
 
 
+// Because the Sparc instruction selector likes to re-write operands to
+// instructions, making them change from a Value* (virtual register) to a
+// Constant* (making an immediate field), we need to change the opcode from a
+// register-based instruction to an immediate-based instruction, hence this
+// mapping.
 static unsigned
 convertOpcodeFromRegToImm(unsigned Opcode) {
   switch (Opcode) {