Skip to content
  1. May 29, 2008
    • Dan Gohman's avatar
      Fix a tblgen problem handling variable_ops in tblgen instruction · 6e582c44
      Dan Gohman authored
      definitions. This adds a new construct, "discard", for indicating
      that a named node in the input matching pattern is to be discarded,
      instead of corresponding to a node in the output pattern. This
      allows tblgen to know where the arguments for the varaible_ops are
      supposed to begin.
      
      This fixes "rdar://5791600", whatever that is ;-).
      
      llvm-svn: 51699
      6e582c44
    • Bill Wendling's avatar
      Add a flag to indicate that an instruction is as cheap (or cheaper) than a move · 3f6bb271
      Bill Wendling authored
      instruction to execute. This can be used for transformations (like two-address
      conversion) to remat an instruction instead of generating a "move"
      instruction. The idea is to decrease the live ranges and register pressure and
      all that jazz.
      
      llvm-svn: 51660
      3f6bb271
  2. 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
  3. Mar 16, 2008
  4. Mar 15, 2008
  5. Feb 02, 2008
    • Evan Cheng's avatar
      SDIsel processes llvm.dbg.declare by recording the variable debug information... · efd142a9
      Evan Cheng authored
      SDIsel processes llvm.dbg.declare by recording the variable debug information descriptor and its corresponding stack frame index in MachineModuleInfo. This only works if the local variable is "homed" in the stack frame. It does not work for byval parameter, etc.
      Added ISD::DECLARE node type to represent llvm.dbg.declare intrinsic. Now the intrinsic calls are lowered into a SDNode and lives on through out the codegen passes.
      For now, since all the debugging information recording is done at isel time, when a ISD::DECLARE node is selected, it has the side effect of also recording the variable. This is a short term solution that should be fixed in time.
      
      llvm-svn: 46659
      efd142a9
  6. Jan 11, 2008
    • Chris Lattner's avatar
      Simplify the side effect stuff a bit more and make licm/sinking · c8226f32
      Chris Lattner authored
      both work right according to the new flags.
      
      This removes the TII::isReallySideEffectFree predicate, and adds
      TII::isInvariantLoad. 
      
      It removes NeverHasSideEffects+MayHaveSideEffects and adds
      UnmodeledSideEffects as machine instr flags.  Now the clients
      can decide everything they need.
      
      I think isRematerializable can be implemented in terms of the
      flags we have now, though I will let others tackle that.
      
      llvm-svn: 45843
      c8226f32
  7. Jan 10, 2008
  8. Jan 08, 2008
  9. Jan 07, 2008
  10. Jan 06, 2008
  11. Dec 30, 2007
  12. Dec 29, 2007
  13. Dec 14, 2007
  14. Dec 13, 2007
  15. Nov 12, 2007
  16. Aug 02, 2007
  17. Jul 26, 2007
  18. Jul 10, 2007
  19. Jul 07, 2007
  20. Jul 05, 2007
Loading