Changeset 3852


Ignore:
Timestamp:
Jun 3, 2014, 11:53:50 PM (5 years ago)
Author:
linmengl
Message:

minor fix on pytemplate,

Location:
parabix-LLVM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • parabix-LLVM/MachineValueType.h.pytemplate

    r3848 r3852  
    4040      FIRST_INTEGER_VALUETYPE = ${first_integer_type},
    4141      LAST_INTEGER_VALUETYPE  = ${last_integer_type},
    42        
     42
    4343      f16            =   $f16,   // This is a 16 bit floating point value
    4444      f32            =   $f32,   // This is a 32 bit floating point value
     
    4747      f128           =  $f128,   // This is a 128 bit floating point value
    4848      ppcf128        =  $ppcf128,   // This is a PPC 128-bit floating point value
    49        
     49
    5050      FIRST_FP_VALUETYPE = f16,
    5151      LAST_FP_VALUETYPE  = ppcf128,
    52        
     52
    5353${integer_vector_type_lines}
    54    
     54
    5555      FIRST_INTEGER_VECTOR_VALUETYPE = ${first_integer_vector_type},
    5656      LAST_INTEGER_VECTOR_VALUETYPE = ${last_integer_vector_type},
    5757
    5858${float_vector_type_lines}
    59    
    60       FIRST_FP_VECTOR_VALUETYPE = v2f16,
     59
     60      FIRST_FP_VECTOR_VALUETYPE = ${first_float_vector_type},
    6161      LAST_FP_VECTOR_VALUETYPE = ${last_float_vector_type},
    6262
  • parabix-LLVM/mkValueTypes.py

    r3849 r3852  
    66
    77from string import Template
    8 import re, os, shutil
     8import re
     9import os
     10import shutil
    911
    1012
    1113def calculateTypeData(maxwidth, minvecwidth=32):
    12     enumTypeLine =    "\t%s\t\t=  %s,\n"
     14    enumTypeLine = "\t%s\t\t=  %s,\n"
    1315    defTypeLine = "def %s\t: ValueType<%s , %s>;\n"
    1416    fw = 1
     
    3840    VTmap['f128'] = VTmap['f80'] + 1
    3941    VTmap['ppcf128'] = VTmap['f128'] + 1
    40    
     42
    4143    enumVal = enumVal + 6
    4244    VTmap['integer_vector_type_lines'] = ''
     
    8082"""
    8183
     84
    8285def make_isXXXBitFunctions(VectorSizeMap):
    8386    fns = ""
     
    8689        if tests != []: testexpr = " ||\n\t\t".join(tests)
    8790        else: testexpr = 0
    88         fns += Template(isXXXBitVectorTemplate).substitute(width = repr(s), typetest = testexpr)
     91        fns += Template(isXXXBitVectorTemplate).substitute(width=repr(s), typetest=testexpr)
    8992    return fns
    9093
     
    9497        default:
    9598            llvm_unreachable("Not a vector MVT!");
    96 ${vector_element_type_cases}
    97       }
    98     }
    99    
    100 """
     99        ${vector_element_type_cases}
     100      }
     101    }
     102
     103"""
     104
    101105
    102106def make_getVectorElementType(VectorFieldSizeMap):
     
    116120      default:
    117121        llvm_unreachable("Not a vector MVT!");
    118 ${vector_element_num_cases}
    119       }
    120     }
    121    
     122      ${vector_element_num_cases}
     123      }
     124    }
     125
    122126    """
    123 vecNumRe =  re.compile("v([0-9]+)[if][0-9]+")
     127vecNumRe = re.compile("v([0-9]+)[if][0-9]+")
     128
    124129
    125130def make_getVectorNumElements(VectorSizeMap):
     
    152157      case Metadata:
    153158        llvm_unreachable("Value type is metadata.");
    154 ${size_in_bits_cases}
     159      ${size_in_bits_cases}
    155160      case x86mmx: return 64;
    156161      case f80 :  return 80;
     
    159164      }
    160165    }
    161    
     166
    162167"""
    163168def make_getSizeInBits(VectorSizeMap):
     
    165170    for s in sorted(VectorSizeMap.keys()):
    166171        vCases = ["case %s:" % v for v in VectorSizeMap[s]]
    167         sCases += "      case i%s: " % s 
     172        sCases += "      case i%s: " % s
    168173        if s in [16,32,64]: sCases += "case f%s: " % s
    169174        sCases += " ".join(vCases)
     
    176181      default:
    177182        return (MVT::SimpleValueType)(MVT::INVALID_SIMPLE_VALUE_TYPE);
    178 ${integer_VT_cases}
     183      ${integer_VT_cases}
    179184      }
    180185    }
     
    186191        iCases += "      case %s:\n        return MVT::i%s;\n" % (s, s)
    187192    return Template(getIntegerVTTemplate).substitute(integer_VT_cases = iCases)
    188    
    189193
    190194
     
    237241    content = t.substitute(VTmap)
    238242    if os.path.exists("MachineValueType.h") and not os.path.exists("MachineValueType.h.bak"):
    239                 shutil.move("MachineValueType.h", "MachineValueType.h.bak")
     243        shutil.move("MachineValueType.h", "MachineValueType.h.bak")
    240244    f = open("MachineValueType.h", "w")
    241245    f.write(content)
     
    249253    content = t.substitute(VTmap)
    250254    if os.path.exists("ValueTypes.td") and  not os.path.exists("ValueTypes.td.bak"):
    251                 shutil.move("ValueTypes.td", "ValueTypes.td.bak")
     255        shutil.move("ValueTypes.td", "ValueTypes.td.bak")
    252256    f = open("ValueTypes.td", "w")
    253257    f.write(content)
     
    255259
    256260if __name__ == '__main__':
    257     makeMachineValueType_h(1024, 1)
    258     makeValueTypes_td(1024, 1)
     261    makeMachineValueType_h(128, 1)
     262    makeValueTypes_td(128, 1)
     263    print "MachineValueType.h and ValueTypes.td generated."
Note: See TracChangeset for help on using the changeset viewer.