Skip to content
  1. Feb 04, 2013
  2. Feb 01, 2013
  3. Jan 17, 2013
  4. Dec 07, 2012
  5. Dec 05, 2012
  6. Nov 14, 2012
  7. Sep 05, 2012
    • Pranav Bhandarkar's avatar
      LLVM Bug Fix 13709: Remove needless lsr(Rp, #32) instruction access the · 823f9eba
      Pranav Bhandarkar authored
      subreg_hireg of register pair Rp.
      
      	* lib/Target/Hexagon/HexagonPeephole.cpp(PeepholeDoubleRegsMap): New
      	 DenseMap similar to PeepholeMap that additionally records subreg info
      	 too.
              (runOnMachineFunction): Record information in PeepholeDoubleRegsMap
              and copy propagate the high sub-reg of Rp0 in Rp1 = lsr(Rp0, #32) to
      	the instruction Rx = COPY Rp1:logreg_subreg.
      	* test/CodeGen/Hexagon/remove_lsr.ll: New test.
      	
      
      llvm-svn: 163214
      823f9eba
  8. Sep 04, 2012
  9. Aug 28, 2012
    • Jakob Stoklund Olesen's avatar
      Remove extra MayLoad/MayStore flags from atomic_load/store. · 87cb471e
      Jakob Stoklund Olesen authored
      These extra flags are not required to properly order the atomic
      load/store instructions. SelectionDAGBuilder chains atomics as if they
      were volatile, and SelectionDAG::getAtomic() sets the isVolatile bit on
      the memory operands of all atomic operations.
      
      The volatile bit is enough to order atomic loads and stores during and
      after SelectionDAG.
      
      This means we set mayLoad on atomic_load, mayStore on atomic_store, and
      mayLoad+mayStore on the remaining atomic read-modify-write operations.
      
      llvm-svn: 162733
      87cb471e
  10. Aug 25, 2012
    • Jakob Stoklund Olesen's avatar
      Infer instruction properties from single-instruction patterns. · c2272df1
      Jakob Stoklund Olesen authored
      Previously, instructions without a primary patterns wouldn't get their
      properties inferred. Now, we use all single-instruction patterns for
      inference, including 'def : Pat<>' instances.
      
      This causes a lot of instruction flags to change.
      
      - Many instructions no longer have the UnmodeledSideEffects flag because
        their flags are now inferred from a pattern.
      
      - Instructions with intrinsics will get a mayStore flag if they already
        have UnmodeledSideEffects and a mayLoad flag if they already have
        mayStore. This is because intrinsics properties are linear.
      
      - Instructions with atomic_load patterns get a mayStore flag because
        atomic loads can't be reordered. The correct workaround is to create
        pseudo-instructions instead of using normal loads. PR13693.
      
      llvm-svn: 162614
      c2272df1
  11. Aug 13, 2012
  12. Aug 08, 2012
  13. Aug 04, 2012
    • Bob Wilson's avatar
      Refactor and check "onlyReadsMemory" before optimizing builtins. · 874886cd
      Bob Wilson authored
      This patch is mostly just refactoring a bunch of copy-and-pasted code, but
      it also adds a check that the call instructions are readnone or readonly.
      That check was already present for sin, cos, sqrt, log2, and exp2 calls, but
      it was missing for the rest of the builtins being handled in this code.
      
      llvm-svn: 161282
      874886cd
  14. May 15, 2012
  15. May 14, 2012
  16. May 12, 2012
  17. May 11, 2012
  18. May 10, 2012
  19. May 03, 2012
  20. Apr 23, 2012
  21. Apr 12, 2012
    • Sirish Pande's avatar
      Disable Hexagon test temporarily. · 1d195b9c
      Sirish Pande authored
      There is an assert at line 558 in ScheduleDAGInstrs::buildSchedGraph(AliasAnalysis *AA).
      This assert needs to addressed for post RA scheduler. Until that assert is addressed,
      any passes that uses post ra scheduler will fail. So, I am temporarily disabling the
      hexagon tests until that fix is in.
      
      The assert is as follows:
          assert(!MI->isTerminator() && !MI->isLabel() &&
                     "Cannot schedule terminators or labels!");
      
      llvm-svn: 154617
      1d195b9c
  22. Mar 25, 2012
    • Eli Bendersky's avatar
      Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu · f3308605
      Eli Bendersky authored
      * Removed test/lib/llvm.exp - it is no longer needed 
      * Deleted the dg.exp reading code from test/lit.cfg. There are no dg.exp files
        left in the test suite so this code is no longer required. test/lit.cfg is
        now much shorter and clearer 
      * Removed a lot of duplicate code in lit.local.cfg files that need access to
        the root configuration, by adding a "root" attribute to the TestingConfig
        object. This attribute is dynamically computed to provide the same
        information as was previously provided by the custom getRoot functions. 
      * Documented the config.root attribute in docs/CommandGuide/lit.pod
      
      llvm-svn: 153408
      f3308605
  23. Feb 16, 2012
  24. Feb 01, 2012
  25. Dec 16, 2011
  26. Dec 13, 2011
  27. Dec 12, 2011
Loading