Skip to content
  1. Jan 23, 2014
  2. Jan 21, 2014
  3. Jan 16, 2014
  4. Dec 15, 2013
  5. Dec 08, 2013
  6. Dec 05, 2013
    • Alp Toker's avatar
      Correct word hyphenations · f907b891
      Alp Toker authored
      This patch tries to avoid unrelated changes other than fixing a few
      hyphen-related ambiguities and contractions in nearby lines.
      
      llvm-svn: 196471
      f907b891
  7. Nov 29, 2013
    • Reed Kotler's avatar
      Part 1 of 3 patches that completes very long conditional branches · ad450f23
      Reed Kotler authored
      in constant islands for Mips16. We introdcuce JalB16 as a synomnym
      for Jal16. It makes it easier to read and is also necessary because
      Jal16 is a call instruction but JalB16 is being used as a branch.
      Various parts of LLVM will not work properly even in this late stage of
      the backend if we use what was declared as a call instruction to function
      as a branch. For one, basic block labels may not get emitted in some
      situations. 
      
      llvm-svn: 195968
      ad450f23
  8. Nov 21, 2013
  9. Nov 15, 2013
    • Reed Kotler's avatar
      Make all the conditional Mips 16 branches get initially set for the · 09e59155
      Reed Kotler authored
      short form. Constant islands will expand them if they are out of range.
      Since there is not direct object emitter at this time, it does not
      have any material affect because the assembler sorts this out. But we
      need to know for the actual constant island work. We track the difference
      by putting # 16 inst in the comments.
      
      llvm-svn: 194766
      09e59155
  10. Nov 12, 2013
    • Reed Kotler's avatar
      Change the default branch instruction to be the 16 bit variety for mips16. · f0e6968e
      Reed Kotler authored
      This has no material effect at this time since we don't have a direct
      object emitter for mips16 and the assembler can't tell them apart. I
      place a comment "16 bit inst" for those so that I can tell them apart in the
      output. The constant island pass has only been minimally changed to allow
      this. More complete branch work is forthcoming but this is the first
      step.
      
      llvm-svn: 194442
      f0e6968e
  11. Nov 05, 2013
    • Reed Kotler's avatar
      Fix r194019 as requested by Eric Christopher. · 0f007fc4
      Reed Kotler authored
      Submit the basic port of the rest of ARM constant islands code to Mips. 
      Two test cases are added which reflect the next level of functionality:
      constants getting moved to water areas that are out of range from the
      initial placement at the end of the function and basic blocks being split to
      create water when none exists that can be used. There is a bunch of this
      code that is not complete and has been marked with IN_PROGRESS. I will
      finish cleaning this all up during the next week or two and submit the
      rest of the test cases. I have elminated some code for dealing with
      inline assembly because to me it unecessarily complicates things and
      some of the newer features of llvm like function attributies and builtin
      assembler give me better tools to solve the alignment issues created
      there. Also, for Mips16 I even have the option of not doing constant
      islands in the present of inline assembler if I chose. When everything
      has been completed I will summarize the port and notify people that
      are knowledgable regarding the ARM Constant Islands code so they can
      review it in it's entirety if they wish.
      
      llvm-svn: 194053
      0f007fc4
    • NAKAMURA Takumi's avatar
      Revert r194019 to r194021, "Submit the basic port of the rest of ARM constant... · 5267613e
      NAKAMURA Takumi authored
      Revert r194019 to r194021, "Submit the basic port of the rest of ARM constant islands code to Mips."
      
      It broke -Asserts build.
      
      llvm-svn: 194026
      5267613e
  12. Nov 04, 2013
    • Reed Kotler's avatar
      Submit the basic port of the rest of ARM constant islands code to Mips. · 526804f7
      Reed Kotler authored
      Two test cases are added which reflect the next level of functionality:
      constants getting moved to water areas that are out of range from the
      initial placement at the end of the function and basic blocks being split to
      create water when none exists that can be used. There is a bunch of this
      code that is not complete and has been marked with IN_PROGRESS. I will
      finish cleaning this all up during the next week or two and submit the
      rest of the test cases. I have elminated some code for dealing with
      inline assembly because to me it unecessarily complicates things and
      some of the newer features of llvm like function attributies and builtin
      assembler give me better tools to solve the alignment issues created
      there. Also, for Mips16 I even have the option of not doing constant
      islands in the present of inline assembler if I chose.
      
      llvm-svn: 194019
      526804f7
  13. Oct 28, 2013
  14. Oct 27, 2013
    • Reed Kotler's avatar
      Make first substantial checkin of my port of ARM constant islands code to Mips. · 91ae9829
      Reed Kotler authored
      Before I just ported the shell of the pass. I've tried to keep everything
      nearly identical to the ARM version. I think it will be very easy to eventually
      merge these two and create a new more general pass that other targets can
      use. I have some improvements I would like to make to allow pools to 
      be shared across functions and some other things. When I'm all done we
      can think about making a more general pass. More to be ported but the
      basic mechanism works now almost as good as gcc mips16.
      
      llvm-svn: 193509
      91ae9829
  15. Oct 12, 2013
  16. Oct 07, 2013
  17. Oct 05, 2013
  18. Sep 19, 2013
    • Reed Kotler's avatar
      Fix two issues regarding Got pointer (GP) setup. · d6aadc79
      Reed Kotler authored
      1) make sure that the first two instructions of the sequence cannot
      separate from each other. The linker requires that they be sequential.
      If they get separated, it can still work but it will not work in all
      cases because the first of the instructions mostly involves the hi part
      of the pc relative offset and that part changes slowly. You would have
      to be at the right boundary for this to matter.
      2) make sure that this sequence begins  on a longword boundary. 
      There appears to be a bug in binutils which makes some of these calculations
      get messed up if the instruction sequence does not begin on a longword
      boundary. This is being investigated with the appropriate binutils folks.
      
      llvm-svn: 190966
      d6aadc79
  19. Sep 07, 2013
  20. Aug 14, 2013
  21. Aug 11, 2013
  22. Aug 07, 2013
  23. Aug 05, 2013
  24. Aug 04, 2013
  25. Aug 01, 2013
  26. Mar 30, 2013
  27. Mar 14, 2013
  28. Feb 25, 2013
  29. Feb 24, 2013
  30. Feb 23, 2013
  31. Feb 22, 2013
  32. Feb 21, 2013
  33. Feb 20, 2013
    • Reed Kotler's avatar
      Expand pseudos/macros: · 7b503c2b
      Reed Kotler authored
        SltCCRxRy16, SltiCCRxImmX16, SltiuCCRxImmX16, SltuCCRxRy16
      $T8 shows up as register $24 when emitted from C++ code so we had
      to change some tests that were already there for this functionality.
      
      llvm-svn: 175593
      7b503c2b
  34. Feb 19, 2013
Loading