Skip to content
  1. Feb 23, 2004
  2. Feb 22, 2004
    • Chris Lattner's avatar
      Only insert FP_REG_KILL instructions in MachineBasicBlocks that actually · cdd56634
      Chris Lattner authored
      use FP instructions.  This reduces the number of instructions inserted in
      176.gcc (for example) from 58074 to 101 (it doesn't use much FP, which
      is typical).  This reduction speeds up the entire code generator.  In the
      case of 176.gcc, llc went from taking 31.38s to 24.78s.  The passes that
      sped up the most are the register allocator and the 2 live variable analysis
      passes, which sped up 2.3, 1.3, and 1.5s respectively.  The asmprinter
      pass also sped up because it doesn't print the instructions in comments :)
      
      Note that this patch is likely to expose latent bugs in machine code passes,
      because now basicblock can be empty, where they were never empty before.  I
      cleaned out regalloclocal, but who knows about linscan :)
      
      llvm-svn: 11717
      cdd56634
    • Chris Lattner's avatar
      Another bug fix for empty MBB's · 19aef9e7
      Chris Lattner authored
      llvm-svn: 11716
      19aef9e7
    • Alkis Evlogimenos's avatar
      Move MOTy::UseType enum into MachineOperand. This eliminates the · 8358cc57
      Alkis Evlogimenos authored
      switch statements in the constructors and simplifies the
      implementation of the getUseType() member function. You will have to
      specify defs using MachineOperand::Def instead of MOTy::Def though
      (similarly for Use and UseAndDef).
      
      llvm-svn: 11715
      8358cc57
    • Chris Lattner's avatar
      Fix a bug where we were implicitly assuming that there would be at least · 84b40665
      Chris Lattner authored
      one terminator instruction in each basic block.
      
      llvm-svn: 11714
      84b40665
Loading