Skip to content
  • Chris Lattner's avatar
    Several changes: · f81d5886
    Chris Lattner authored
    1) Change the interface to TargetLowering::ExpandOperationResult to 
       take and return entire NODES that need a result expanded, not just
       the value.  This allows us to handle things like READCYCLECOUNTER,
       which returns two values.
    2) Implement (extremely limited) support in LegalizeDAG::ExpandOp for MERGE_VALUES.
    3) Reimplement custom lowering in LegalizeDAGTypes in terms of the new
       ExpandOperationResult.  This makes the result simpler and fully 
       general.
    4) Implement (fully general) expand support for MERGE_VALUES in LegalizeDAGTypes.
    5) Implement ExpandOperationResult support for ARM f64->i64 bitconvert and ARM
       i64 shifts, allowing them to work with LegalizeDAGTypes.
    6) Implement ExpandOperationResult support for X86 READCYCLECOUNTER and FP_TO_SINT,
       allowing them to work with LegalizeDAGTypes.
    
    LegalizeDAGTypes now passes several more X86 codegen tests when enabled and when
    type legalization in LegalizeDAG is ifdef'd out.
    
    llvm-svn: 44300
    f81d5886
Loading