Skip to content
  1. Oct 28, 2011
    • NAKAMURA Takumi's avatar
    • Duncan Sands's avatar
      Speculatively disable Dan's commits 143177 and 143179 to see if · 225a7037
      Duncan Sands authored
      it fixes the dragonegg self-host (it looks like gcc is miscompiled).
      Original commit messages:
      Eliminate LegalizeOps' LegalizedNodes map and have it just call RAUW
      on every node as it legalizes them. This makes it easier to use
      hasOneUse() heuristics, since unneeded nodes can be removed from the
      DAG earlier.
      
      Make LegalizeOps visit the DAG in an operands-last order. It previously
      used operands-first, because LegalizeTypes has to go operands-first, and
      LegalizeTypes used to be part of LegalizeOps, but they're now split.
      The operands-last order is more natural for several legalization tasks.
      For example, it allows lowering code for nodes with floating-point or
      vector constants to see those constants directly instead of seeing the
      lowered form (often constant-pool loads). This makes some things
      somewhat more complicated today, though it ought to allow things to be
      simpler in the future. It also fixes some bugs exposed by Legalizing
      using RAUW aggressively.
      
      Remove the part of LegalizeOps that attempted to patch up invalid chain
      operands on libcalls generated by LegalizeTypes, since it doesn't work
      with the new LegalizeOps traversal order. Instead, define what
      LegalizeTypes is doing to be correct, and transfer the responsibility
      of keeping calls from having overlapping calling sequences into the
      scheduler.
      
      Teach the scheduler to model callseq_begin/end pairs as having a
      physical register definition/use to prevent calls from having
      overlapping calling sequences. This is also somewhat complicated, though
      there are ways it might be simplified in the future.
      
      This addresses rdar://9816668, rdar://10043614, rdar://8434668, and others.
      Please direct high-level questions about this patch to management.
      
      Delete #if 0 code accidentally left in.
      
      llvm-svn: 143188
      225a7037
    • Nick Lewycky's avatar
      Always use the string pool, even when it makes the .o larger. This may help · cc64ae14
      Nick Lewycky authored
      tools that read the debug info in the .o files by making the DIE sizes more
      consistent.
      
      llvm-svn: 143186
      cc64ae14
    • Andrew Trick's avatar
      LFTR should avoid a type mismatch with null pointer IVs. · effdca94
      Andrew Trick authored
      Fixes rdar://10359193 Indvar LinearFunctionTestReplace assertion
      
      llvm-svn: 143183
      effdca94
    • Dan Gohman's avatar
      Delete #if 0 code accidentally left in. · 0e8d1454
      Dan Gohman authored
      llvm-svn: 143179
      0e8d1454
    • Dan Gohman's avatar
      Eliminate LegalizeOps' LegalizedNodes map and have it just call RAUW · 4db3f7dd
      Dan Gohman authored
      on every node as it legalizes them. This makes it easier to use
      hasOneUse() heuristics, since unneeded nodes can be removed from the
      DAG earlier.
      
      Make LegalizeOps visit the DAG in an operands-last order. It previously
      used operands-first, because LegalizeTypes has to go operands-first, and
      LegalizeTypes used to be part of LegalizeOps, but they're now split.
      The operands-last order is more natural for several legalization tasks.
      For example, it allows lowering code for nodes with floating-point or
      vector constants to see those constants directly instead of seeing the
      lowered form (often constant-pool loads). This makes some things
      somewhat more complicated today, though it ought to allow things to be
      simpler in the future. It also fixes some bugs exposed by Legalizing
      using RAUW aggressively.
      
      Remove the part of LegalizeOps that attempted to patch up invalid chain
      operands on libcalls generated by LegalizeTypes, since it doesn't work
      with the new LegalizeOps traversal order. Instead, define what
      LegalizeTypes is doing to be correct, and transfer the responsibility
      of keeping calls from having overlapping calling sequences into the
      scheduler.
      
      Teach the scheduler to model callseq_begin/end pairs as having a
      physical register definition/use to prevent calls from having
      overlapping calling sequences. This is also somewhat complicated, though
      there are ways it might be simplified in the future.
      
      This addresses rdar://9816668, rdar://10043614, rdar://8434668, and others.
      Please direct high-level questions about this patch to management.
      
      llvm-svn: 143177
      4db3f7dd
    • Peter Collingbourne's avatar
      Have llvm-config --cppflags print correct flags when in CMake build directory · 16dab1ba
      Peter Collingbourne authored
      Previously, if invoked from a CMake build directory, 'llvm-config
      --cppflags' and friends would only print a -I flag for the build
      directory's header search path, because it would assume that it was
      already installed, not recognising its parent directory as being the
      build directory.  Teach llvm-config about CMake build directories
      so that it prints a -I for both the source and build directory's
      search paths.
      
      llvm-svn: 143171
      16dab1ba
    • Jim Grosbach's avatar
      ARM Allow 'q' registers in VLD/VST vector lists. · 080a499e
      Jim Grosbach authored
      Just treat it as if the constituent D registers where specified.
      
      rdar://10348896
      
      llvm-svn: 143167
      080a499e
    • Dan Gohman's avatar
      Remove the Alpha backend. · 4c9fca99
      Dan Gohman authored
      llvm-svn: 143164
      4c9fca99
    • Owen Anderson's avatar
      Add testcase for r143162. · f211416d
      Owen Anderson authored
      llvm-svn: 143163
      f211416d
    • Owen Anderson's avatar
    • Jakob Stoklund Olesen's avatar
      Also set addrmode6 alignment when align==size. · e5a6adce
      Jakob Stoklund Olesen authored
      Previously, we were only setting the alignment bits on over-aligned
      loads and stores.
      
      llvm-svn: 143160
      e5a6adce
    • Eli Friedman's avatar
    • Jim Grosbach's avatar
      12a39540
  2. Oct 27, 2011
Loading