~ubuntu-branches/ubuntu/trusty/llvm-toolchain-snapshot/trusty-201310232150

« back to all changes in this revision

Viewing changes to lib/Target/ARM/ARMISelLowering.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-27 15:01:57 UTC
  • mfrom: (0.10.1) (0.9.1) (0.8.1) (0.7.1) (0.6.1) (0.5.2)
  • Revision ID: package-import@ubuntu.com-20130527150157-tdkrsjpuvht7v0qx
Tags: 1:3.4~svn182733-1~exp1
* New snapshot release (3.4 release)
* Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
    to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
  * Various packages rename to allow co installations:
    * libclang1 => libclang1-3.4
    * libclang1-dbg => libclang1-3.4-dbg
    * libclang-dev => libclang-3.4-dev
    * libclang-common-dev => libclang-common-3.4-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
270
270
    }
271
271
 
272
272
    /// getSetCCResultType - Return the value type to use for ISD::SETCC.
273
 
    virtual EVT getSetCCResultType(EVT VT) const;
 
273
    virtual EVT getSetCCResultType(LLVMContext &Context, EVT VT) const;
274
274
 
275
275
    virtual MachineBasicBlock *
276
276
      EmitInstrWithCustomInserter(MachineInstr *MI,
412
412
    void addQRTypeForNEON(MVT VT);
413
413
 
414
414
    typedef SmallVector<std::pair<unsigned, SDValue>, 8> RegsToPassVector;
415
 
    void PassF64ArgInRegs(DebugLoc dl, SelectionDAG &DAG,
 
415
    void PassF64ArgInRegs(SDLoc dl, SelectionDAG &DAG,
416
416
                          SDValue Chain, SDValue &Arg,
417
417
                          RegsToPassVector &RegsToPass,
418
418
                          CCValAssign &VA, CCValAssign &NextVA,
421
421
                          ISD::ArgFlagsTy Flags) const;
422
422
    SDValue GetF64FormalArgument(CCValAssign &VA, CCValAssign &NextVA,
423
423
                                 SDValue &Root, SelectionDAG &DAG,
424
 
                                 DebugLoc dl) const;
 
424
                                 SDLoc dl) const;
425
425
 
426
426
    CCAssignFn *CCAssignFnForNode(CallingConv::ID CC, bool Return,
427
427
                                  bool isVarArg) const;
428
428
    SDValue LowerMemOpCallTo(SDValue Chain, SDValue StackPtr, SDValue Arg,
429
 
                             DebugLoc dl, SelectionDAG &DAG,
 
429
                             SDLoc dl, SelectionDAG &DAG,
430
430
                             const CCValAssign &VA,
431
431
                             ISD::ArgFlagsTy Flags) const;
432
432
    SDValue LowerEH_SJLJ_SETJMP(SDValue Op, SelectionDAG &DAG) const;
463
463
    SDValue LowerCallResult(SDValue Chain, SDValue InFlag,
464
464
                            CallingConv::ID CallConv, bool isVarArg,
465
465
                            const SmallVectorImpl<ISD::InputArg> &Ins,
466
 
                            DebugLoc dl, SelectionDAG &DAG,
467
 
                            SmallVectorImpl<SDValue> &InVals) const;
 
466
                            SDLoc dl, SelectionDAG &DAG,
 
467
                            SmallVectorImpl<SDValue> &InVals,
 
468
                            bool isThisReturn, SDValue ThisVal) const;
468
469
 
469
470
    virtual SDValue
470
471
      LowerFormalArguments(SDValue Chain,
471
472
                           CallingConv::ID CallConv, bool isVarArg,
472
473
                           const SmallVectorImpl<ISD::InputArg> &Ins,
473
 
                           DebugLoc dl, SelectionDAG &DAG,
 
474
                           SDLoc dl, SelectionDAG &DAG,
474
475
                           SmallVectorImpl<SDValue> &InVals) const;
475
476
 
 
477
    int StoreByValRegs(CCState &CCInfo, SelectionDAG &DAG,
 
478
                       SDLoc dl, SDValue &Chain,
 
479
                       const Value *OrigArg,
 
480
                       unsigned InRegsParamRecordIdx,
 
481
                       unsigned OffsetFromOrigArg,
 
482
                       unsigned ArgOffset,
 
483
                       unsigned ArgSize,
 
484
                       bool ForceMutable) const;
 
485
 
476
486
    void VarArgStyleRegisters(CCState &CCInfo, SelectionDAG &DAG,
477
 
                              DebugLoc dl, SDValue &Chain,
478
 
                              const Value *OrigArg,
479
 
                              unsigned OffsetFromOrigArg,
 
487
                              SDLoc dl, SDValue &Chain,
480
488
                              unsigned ArgOffset,
481
 
                              bool ForceMutable = false)
482
 
      const;
 
489
                              bool ForceMutable = false) const;
483
490
 
484
491
    void computeRegArea(CCState &CCInfo, MachineFunction &MF,
485
 
                        unsigned &VARegSize, unsigned &VARegSaveSize) const;
 
492
                        unsigned InRegsParamRecordIdx,
 
493
                        unsigned ArgSize,
 
494
                        unsigned &ArgRegsSize,
 
495
                        unsigned &ArgRegsSaveSize) const;
486
496
 
487
497
    virtual SDValue
488
498
      LowerCall(TargetLowering::CallLoweringInfo &CLI,
514
524
                  CallingConv::ID CallConv, bool isVarArg,
515
525
                  const SmallVectorImpl<ISD::OutputArg> &Outs,
516
526
                  const SmallVectorImpl<SDValue> &OutVals,
517
 
                  DebugLoc dl, SelectionDAG &DAG) const;
 
527
                  SDLoc dl, SelectionDAG &DAG) const;
518
528
 
519
529
    virtual bool isUsedByReturnOnly(SDNode *N, SDValue &Chain) const;
520
530
 
521
531
    virtual bool mayBeEmittedAsTailCall(CallInst *CI) const;
522
532
 
523
533
    SDValue getARMCmp(SDValue LHS, SDValue RHS, ISD::CondCode CC,
524
 
                      SDValue &ARMcc, SelectionDAG &DAG, DebugLoc dl) const;
 
534
                      SDValue &ARMcc, SelectionDAG &DAG, SDLoc dl) const;
525
535
    SDValue getVFPCmp(SDValue LHS, SDValue RHS,
526
 
                      SelectionDAG &DAG, DebugLoc dl) const;
 
536
                      SelectionDAG &DAG, SDLoc dl) const;
527
537
    SDValue duplicateCmp(SDValue Cmp, SelectionDAG &DAG) const;
528
538
 
529
539
    SDValue OptimizeVFPBrcond(SDValue Op, SelectionDAG &DAG) const;