Skip to content
  1. Oct 18, 2004
  2. Oct 17, 2004
  3. Oct 16, 2004
  4. Oct 14, 2004
  5. Oct 13, 2004
  6. Oct 12, 2004
  7. Oct 11, 2004
    • Chris Lattner's avatar
      Reenable the transform, turning X/-10 < 1 into X > -10 · a92af96c
      Chris Lattner authored
      llvm-svn: 16918
      a92af96c
    • Chris Lattner's avatar
      This patch implements two things (sorry). · 004e250c
      Chris Lattner authored
      First, it allows SRA of globals that have embedded arrays, implementing
      GlobalOpt/globalsra-partial.llx.  This comes up infrequently, but does allow,
      for example, deleting several stores to dead parts of globals in dhrystone.
      
      Second, this implements GlobalOpt/malloc-promote-*.llx, which is the
      following nifty transformation:
      
      Basically if a global pointer is initialized with malloc, and we can tell
      that the program won't notice, we transform this:
      
      struct foo *FooPtr;
      ...
        FooPtr = malloc(sizeof(struct foo));
      ...
        FooPtr->A   FooPtr->B
      
      Into:
      
      struct foo FooPtrBody;
      ...
         FooPtrBody.A  FooPtrBody.B
      
      This comes up occasionally, for example, the 'disp' global in 183.equake (where
      the xform speeds the CBE version of the program up from 56.16s to 52.40s (7%)
      on apoc), and the 'desired_accept', 'fixLRBT', 'macroArray', & 'key_queue'
      globals in 300.twolf (speeding it up from 22.29s to 21.55s (3.4%)).
      
      The nice thing about this xform is that it exposes the resulting global to
      global variable optimization and makes alias analysis easier in addition to
      eliminating a few loads.
      
      llvm-svn: 16916
      004e250c
    • Chris Lattner's avatar
      Just because we cannot completely eliminate all uses of a global, we can · e42eb31f
      Chris Lattner authored
      still optimize away all of the indirect calls and loads, etc from it.
      This turns code like this:
      
        if (G != 0)
          G();
      
      into
         if (G != 0)
           ActualCallee();
      
      This triggers a couple of times in gcc and libstdc++.
      
      llvm-svn: 16901
      e42eb31f
    • Reid Spencer's avatar
      Initial version of automake Makefile.am file. · 97327f05
      Reid Spencer authored
      llvm-svn: 16893
      97327f05
  8. Oct 10, 2004
  9. Oct 09, 2004
  10. Oct 08, 2004
Loading