OSDN Git Service

Add a comment about the current floating-point constant code in FastISel.
authorDan Gohman <gohman@apple.com>
Wed, 27 Aug 2008 18:01:42 +0000 (18:01 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 27 Aug 2008 18:01:42 +0000 (18:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55425 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/FastISel.cpp

index ac35c43..ff07d9a 100644 (file)
@@ -525,6 +525,12 @@ unsigned FastISel::FastEmit_rf_(MVT::SimpleValueType VT, ISD::NodeType Opcode,
   // Materialize the constant in a register.
   unsigned MaterialReg = FastEmit_f(ImmType, ImmType, ISD::ConstantFP, FPImm);
   if (MaterialReg == 0) {
+    // If the target doesn't have a way to directly enter a floating-point
+    // value into a register, use an alternate approach.
+    // TODO: The current approach only supports floating-point constants
+    // that can be constructed by conversion from integer values. This should
+    // be replaced by code that creates a load from a constant-pool entry,
+    // which will require some target-specific work.
     const APFloat &Flt = FPImm->getValueAPF();
     MVT IntVT = TLI.getPointerTy();