Skip to content
  1. Aug 20, 2012
  2. Aug 18, 2012
  3. Aug 17, 2012
  4. Aug 16, 2012
  5. Aug 14, 2012
    • Jim Grosbach's avatar
      Switch the fixed-length disassembler to be table-driven. · ecaef49f
      Jim Grosbach authored
      Refactor the TableGen'erated fixed length disassemblmer to use a
      table-driven state machine rather than a massive set of nested
      switch() statements.
      
      As a result, the ARM Disassembler (ARMDisassembler.cpp) builds much more
      quickly and generates a smaller end result. For a Release+Asserts build on
      a 16GB 3.4GHz i7 iMac w/ SSD:
      
      Time to compile at -O2 (averaged w/ hot caches):
        Previous: 35.5s
        New:       8.9s
      
      TEXT size:
        Previous: 447,251
        New:      297,661
      
      Builds in 25% of the time previously required and generates code 66% of
      the size.
      
      Execution time of the disassembler is only slightly slower (7% disassembling
      10 million ARM instructions, 19.6s vs 21.0s). The new implementation has
      not yet been tuned, however, so the performance should almost certainly
      be recoverable should it become a concern.
      
      llvm-svn: 161888
      ecaef49f
  6. Aug 10, 2012
  7. Aug 09, 2012
  8. Aug 07, 2012
  9. Aug 06, 2012
    • Jack Carter's avatar
      Mips relocations R_MIPS_HIGHER and R_MIPS_HIGHEST. · 84491abb
      Jack Carter authored
      These 2 relocations gain access to the 
      highest and the second highest 16 bits
      of a 64 bit object.
      
      R_MIPS_HIGHER %higher(A+S)
      The %higher(x) function is [ (((long long) x + 0x80008000LL) >> 32) & 0xffff ]. 
      
      R_MIPS_HIGHEST %highest(A+S)
      The %highest(x) function is [ (((long long) x + 0x800080008000LL) >> 48) & 0xffff ]. 
      
      llvm-svn: 161348
      84491abb
  10. Aug 04, 2012
  11. Aug 02, 2012
  12. Aug 01, 2012
  13. Jul 31, 2012
  14. Jul 27, 2012
  15. Jul 26, 2012
  16. Jul 25, 2012
  17. Jul 24, 2012
  18. Jul 23, 2012
  19. Jul 21, 2012
Loading