Skip to content
  1. Feb 09, 2010
  2. Jan 15, 2010
  3. Jan 09, 2010
  4. Jan 04, 2010
  5. Sep 28, 2009
  6. Aug 11, 2009
  7. Jul 29, 2009
  8. Jul 15, 2009
  9. Jul 14, 2009
  10. Jul 11, 2009
  11. Jul 07, 2009
  12. Jul 03, 2009
  13. Jun 29, 2009
    • David Greene's avatar
      · f92ba97c
      David Greene authored
      Add more vector ValueTypes for AVX and other extended vector instruction
      sets.
      
      llvm-svn: 74427
      f92ba97c
  14. Jun 02, 2009
    • Dale Johannesen's avatar
      Revert 72707 and 72709, for the moment. · 5234d379
      Dale Johannesen authored
      llvm-svn: 72712
      5234d379
    • Dale Johannesen's avatar
      Make the implicit inputs and outputs of target-independent · 0b8ca792
      Dale Johannesen authored
      ADDC/ADDE use MVT::i1 (later, whatever it gets legalized to)
      instead of MVT::Flag.  Remove CARRY_FALSE in favor of 0; adjust
      all target-independent code to use this format.
      
      Most targets will still produce a Flag-setting target-dependent
      version when selection is done.  X86 is converted to use i32
      instead, which means TableGen needs to produce different code
      in xxxGenDAGISel.inc.  This keys off the new supportsHasI1 bit
      in xxxInstrInfo, currently set only for X86; in principle this
      is temporary and should go away when all other targets have
      been converted.  All relevant X86 instruction patterns are
      modified to represent setting and using EFLAGS explicitly.  The
      same can be done on other targets.
      
      The immediate behavior change is that an ADC/ADD pair are no
      longer tightly coupled in the X86 scheduler; they can be
      separated by instructions that don't clobber the flags (MOV).
      I will soon add some peephole optimizations based on using
      other instructions that set the flags to feed into ADC.
      
      llvm-svn: 72707
      0b8ca792
  15. Apr 16, 2009
    • Bob Wilson's avatar
      Fix PR3994: LLVMMatchType arguments do not refer to absolute return value · b8c370a8
      Bob Wilson authored
      and argument positions but only to the overloaded intrinsic parameters.
      Keep a separate list of these overloaded parameters in CodeGenTarget.cpp
      so they can be resolved easily.  Remove assertions from IntrinsicEmitter.cpp:
      they were harmless but confusing, and the assertions elsewhere in TableGen
      will catch any incorrect values.
      
      llvm-svn: 69316
      b8c370a8
  16. Apr 13, 2009
    • Dan Gohman's avatar
      Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize · 6c142630
      Dan Gohman authored
      it accordingly. Thanks to Jakob Stoklund Olesen for pointing
      out how this might be useful.
      
      llvm-svn: 68986
      6c142630
    • Dan Gohman's avatar
      Add a new TargetInstrInfo MachineInstr opcode, COPY_TO_SUBCLASS. · 60a446ab
      Dan Gohman authored
      This will be used to replace things like X86's MOV32to32_.
      
      Enhance ScheduleDAGSDNodesEmit to be more flexible and robust
      in the presense of subregister superclasses and subclasses. It
      can now cope with the definition of a virtual register being in
      a subclass of a use.
      
      Re-introduce the code for recording register superreg classes and
      subreg classes. This is needed because when subreg extracts and
      inserts get coalesced away, the virtual registers are left in
      the correct subclass.
      
      llvm-svn: 68961
      60a446ab
  17. Feb 05, 2009
  18. Feb 04, 2009
  19. Jan 12, 2009
  20. Jan 07, 2009
  21. Dec 18, 2008
  22. Nov 13, 2008
  23. Aug 20, 2008
  24. Jul 30, 2008
  25. Jul 01, 2008
    • Dan Gohman's avatar
      Split ISD::LABEL into ISD::DBG_LABEL and ISD::EH_LABEL, eliminating · fb19f940
      Dan Gohman authored
      the need for a flavor operand, and add a new SDNode subclass,
      LabelSDNode, for use with them to eliminate the need for a label id
      operand.
      
      Change instruction selection to let these label nodes through
      unmodified instead of creating copies of them. Teach the MachineInstr
      emitter how to emit a MachineInstr directly from an ISD label node.
      
      This avoids the need for allocating SDNodes for the label id and
      flavor value, as well as SDNodes for each of the post-isel label,
      label id, and label flavor.
      
      llvm-svn: 52943
      fb19f940
  26. Jun 25, 2008
  27. Jun 16, 2008
  28. Jun 06, 2008
    • Duncan Sands's avatar
      Wrap MVT::ValueType in a struct to get type safety · 13237ac3
      Duncan Sands authored
      and better control the abstraction.  Rename the type
      to MVT.  To update out-of-tree patches, the main
      thing to do is to rename MVT::ValueType to MVT, and
      rewrite expressions like MVT::getSizeInBits(VT) in
      the form VT.getSizeInBits().  Use VT.getSimpleVT()
      to extract a MVT::SimpleValueType for use in switch
      statements (you will get an assert failure if VT is
      an extended value type - these shouldn't exist after
      type legalization).
      This results in a small speedup of codegen and no
      new testsuite failures (x86-64 linux).
      
      llvm-svn: 52044
      13237ac3
  29. Apr 03, 2008
    • Dan Gohman's avatar
      Move instruction flag inference out of InstrInfoEmitter and into · fc4ad7de
      Dan Gohman authored
      CodeGenDAGPatterns, where it can be used in other tablegen backends.
      This allows the inference to be done for DAGISelEmitter so that it
      gets accurate mayLoad/mayStore/isSimpleLoad flags. 
      
      This brings MemOperand functionality back to where it was before
      48329. However, it doesn't solve the problem of anonymous patterns
      which expand to code that does loads or stores.
      
      llvm-svn: 49123
      fc4ad7de
  30. Mar 16, 2008
  31. Mar 15, 2008
Loading