Skip to content
  1. Jan 21, 2004
  2. Jan 18, 2004
  3. Jan 15, 2004
  4. Jan 14, 2004
  5. Jan 10, 2004
  6. Dec 01, 2003
    • Chris Lattner's avatar
      Emit & read more compressed bytecode by not emitting a bytecodeblock for · d9cf9b30
      Chris Lattner authored
      each basic block in function.  Instead, just emit a stream of instructions,
      chopping up basic blocks based on when we find terminator instructions.  This
      saves a fairly substantial chunk of bytecode space.  In stripped, sample
      cases, for example, we get this reduction in size:
      
      197.parser: 163036 -> 137180:  18.8% reduction
      254.gap   : 844936 -> 689392:  22.6%
      255.vortex: 621724 -> 528444:  17.7%
      
      ...
      
      Not bad for something this simple.  :)  Note that this doesn't require a new
      bytecode version number at all, though version 1.1 should not need to support
      the old format.
      
      llvm-svn: 10280
      d9cf9b30
  7. Nov 19, 2003
    • Chris Lattner's avatar
      * Finegrainify namespacification · 9c68fa3a
      Chris Lattner authored
      * Strength reduce several data structures which were left over from the
        "bad old days"
      * Minor efficiency improvements
      * Major efficiency improvement: In BytecodeParser::insertValue, do not allocate
        a new ValueTab entry just because some value exists with a large type.  This
        dramatically reduces the number of allocations/deallocations performed by the
        bytecode reader, and speeds up parsing of Kimwitu++ from 34s to 17s.  This is
        to help address PR127
      
      llvm-svn: 10085
      9c68fa3a
    • Chris Lattner's avatar
      Minor speedup to do less linear time searches of information we already have. · ffa9d511
      Chris Lattner authored
      speeds up disassembly of kc++ by .6s
      
      llvm-svn: 10079
      ffa9d511
  8. Nov 14, 2003
  9. Nov 11, 2003
  10. Nov 05, 2003
  11. Oct 30, 2003
  12. Oct 21, 2003
  13. Oct 18, 2003
  14. Oct 13, 2003
  15. Oct 09, 2003
    • Chris Lattner's avatar
      Pass a vector around to reduce dynamic allocation · 819ce2dc
      Chris Lattner authored
      Throw the RawInst class in an anon namespace
      
      llvm-svn: 8990
      819ce2dc
    • Chris Lattner's avatar
      Major refactoring of the bytecode reader. This includes the following · e7691a45
      Chris Lattner authored
      changes:
        * BytecodeReader::getType(...) used to return a null pointer
          on error.  This was only checked about half the time.  Now we convert
          it to throw an exception, and delete the half that checked for error.
          This was checked in before, but psmith crashed and lost the change :(
        * insertValue no longer returns -1 on error, so callers don't need to
          check for it.
        * Substantial rewrite of InstructionReader.cpp, to use more efficient,
          simpler, data structures.  This provides another 5% speedup.  This also
          makes the code much easier to read and understand.
      
      llvm-svn: 8984
      e7691a45
    • Chris Lattner's avatar
      Significantly clean up parsing of instructions. This exceptionizes and · bd26abdc
      Chris Lattner authored
      simplifies the control flow a bit.  This provides a small (~3%) speedup,
      but it's primarily a cleanup exercise.
      
      llvm-svn: 8983
      bd26abdc
    • Chris Lattner's avatar
      Eliminate the instruction placeholder. Simplify a bunch of code. · 1e8addf8
      Chris Lattner authored
      This results in no significant speedup, but does provide simpler code
      
      llvm-svn: 8980
      1e8addf8
    • Chris Lattner's avatar
      Eliminate the old LateResolveValues data structure, replacing it with a · 42dce1e3
      Chris Lattner authored
      new, simpler, ForwardReferences data structure.  This is just the first
      simple replacement, subsequent changes will improve the code more.
      
      This simple change improves the performance of loading a file from HDF5
      (contributed by Bill) from 2.36s to 1.93s, a 22% improvement.  This
      presumably has to do with the fact that we only create ONE placeholder for
      a particular forward referenced values, and also may be because the data
      structure is much simpler.
      
      llvm-svn: 8979
      42dce1e3
    • Chris Lattner's avatar
      Remove a dead method · a9c297c8
      Chris Lattner authored
      llvm-svn: 8978
      a9c297c8
    • Chris Lattner's avatar
      This patch substantially simplifies and cleans up handling of basic blocks · abf6412c
      Chris Lattner authored
      in the bytecode parser.  Before we tried to shoehorn basic blocks into the
      "getValue" code path with other types of values.  For a variety of reasons
      this was a bad idea, so this patch separates it out into its own data structure.
      
      This simplifies the code, makes it fit in 80 columns, and is also much faster.
      In a testcase provided by Bill, which has lots of PHI nodes, this patch speeds
      up bytecode parsing from taking 6.9s to taking 2.32s.  More speedups to
      follow later.
      
      llvm-svn: 8977
      abf6412c
  16. Oct 08, 2003
  17. Oct 04, 2003
  18. Oct 02, 2003
  19. Sep 23, 2003
  20. Sep 08, 2003
  21. Sep 05, 2003
  22. Aug 24, 2003
  23. Jun 18, 2003
Loading