Skip to content
  1. Apr 16, 2013
  2. Apr 15, 2013
  3. Apr 14, 2013
  4. Apr 13, 2013
    • Jakob Stoklund Olesen's avatar
      Define SPARC code models. · 15b3e900
      Jakob Stoklund Olesen authored
      Currently, only abs32 and pic32 are implemented. Add a test case for
      abs32 with 64-bit code. 64-bit PIC code is currently broken.
      
      llvm-svn: 179463
      15b3e900
    • Jakob Stoklund Olesen's avatar
      Use the correct types when matching ADDRri patterns from frame indexes. · 6a0a3eb5
      Jakob Stoklund Olesen authored
      It doesn't seem like anybody is checking types this late in isel, so no
      test case.
      
      llvm-svn: 179462
      6a0a3eb5
    • Benjamin Kramer's avatar
      GlobalDCE: Fix an oversight in my last commit that could lead to crashes. · adc1727c
      Benjamin Kramer authored
      There is a Constant with non-constant operands: blockaddress.
      
      llvm-svn: 179460
      adc1727c
    • Benjamin Kramer's avatar
      Fix a scalability issue with complex ConstantExprs. · 89ca4bc6
      Benjamin Kramer authored
      This is basically the same fix in three different places. We use a set to avoid
      walking the whole tree of a big ConstantExprs multiple times.
      
      For example: (select cmp, (add big_expr 1), (add big_expr 2))
      We don't want to visit big_expr twice here, it may consist of thousands of
      nodes.
      
      The testcase exercises this by creating an insanely large ConstantExprs out of
      a loop. It's questionable if the optimizer should ever create those, but this
      can be triggered with real C code. Fixes PR15714.
      
      llvm-svn: 179458
      89ca4bc6
    • Hal Finkel's avatar
      Spill and restore PPC CR registers using the FP when we have one · d85a04b3
      Hal Finkel authored
      For functions that need to spill CRs, and have dynamic stack allocations, the
      value of the SP during the restore is not what it was during the save, and so
      we need to use the FP in these cases (as for all of the other spills and
      restores, but the CR restore has a special code path because its reserved slot,
      like the link register, is specified directly relative to the adjusted SP).
      
      llvm-svn: 179457
      d85a04b3
    • Andrew Trick's avatar
      MI-Sched: DEBUG formatting. · 1f0bb69b
      Andrew Trick authored
      llvm-svn: 179452
      1f0bb69b
    • Andrew Trick's avatar
      MI-Sched cleanup. If an instruction has no valid sched class, do not attempt... · be2bccbc
      Andrew Trick authored
      MI-Sched cleanup. If an instruction has no valid sched class, do not attempt to check for a variant.
      
      llvm-svn: 179451
      be2bccbc
    • Andrew Trick's avatar
      X86 machine model: reduce SandyBridge and Haswell ILPWindow. · f7fd6b9e
      Andrew Trick authored
      The initial values were arbitrary. I want them to be more
      conservative. This represents the number of latency cycles hidden by
      OOO execution. In practice, I think it should be within a small factor
      of the complex floating point operation latency so the scheduler can
      make some attempt to hide latency even for smallish blocks.
      
      These are by no means the best values, just a starting point for
      tuning heuristics. Some benchmarks such as TSVC run faster with this
      lower value for SandyBridge. I haven't run anything on Haswell, but
      it's shouldn't be 2x SB.
      
      llvm-svn: 179450
      f7fd6b9e
    • Andrew Trick's avatar
      MI-Sched: schedule physreg copies. · e833e1cd
      Andrew Trick authored
      The register allocator expects minimal physreg live ranges. Schedule
      physreg copies accordingly. This is slightly tricky when they occur in
      the middle of the scheduling region. For now, this is handled by
      rescheduling the copy when its associated instruction is
      scheduled. Eventually we may instead bundle them, but only if we can
      preserve the bundles as parallel copies during regalloc.
      
      llvm-svn: 179449
      e833e1cd
    • Andrew Trick's avatar
      Catch another case where SD fails to propagate node order. · 52b8387f
      Andrew Trick authored
      I need to handle this for the test case in my following scheduler
      commit.
      
      Work is already under way to redesign the mechanism for node order
      propagation because this case by case approach is unmaintainable.
      
      llvm-svn: 179448
      52b8387f
Loading