Skip to content
  • Dan Gohman's avatar
    Major calling convention code refactoring. · f9bbcd1a
    Dan Gohman authored
    Instead of awkwardly encoding calling-convention information with ISD::CALL,
    ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
    provides three virtual functions for targets to override:
    LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
    lowering done on the special nodes. They provide the same information, but
    in a more immediately usable format.
    
    This also reworks much of the target-independent tail call logic. The
    decision of whether or not to perform a tail call is now cleanly split
    between target-independent portions, and the target dependent portion
    in IsEligibleForTailCallOptimization.
    
    This also synchronizes all in-tree targets, to help enable future
    refactoring and feature work.
    
    llvm-svn: 78142
    f9bbcd1a
Loading