Skip to content
  1. Jul 27, 2009
  2. Jul 26, 2009
  3. Jul 25, 2009
    • Chris Lattner's avatar
      this is (unfortunately) several changes mixed together: · 60f3b73e
      Chris Lattner authored
      1. Spell SectionFlags::Writeable as "Writable".
      2. Add predicates for deriving SectionFlags from SectionKinds.
      3. Sink ELF-specific getSectionPrefixForUniqueGlobal impl into
         ELFTargetAsmInfo.
      4. Fix SectionFlagsForGlobal to know that BSS/ThreadBSS has the
         BSS bit set (the real fix for PR4619).
      5. Fix isSuitableForBSS to not put globals with explicit sections
         set in BSS (which was the reason #4 wasn't fixed earlier).
      6. Remove my previous hack for PR4619.
      
      llvm-svn: 77085
      60f3b73e
    • Chris Lattner's avatar
      document some invariants. · 7b5e5109
      Chris Lattner authored
      llvm-svn: 77084
      7b5e5109
    • Chris Lattner's avatar
      add the most expedient hack to fix PR4619, along with a testcase. · 2de95105
      Chris Lattner authored
      Thanks to Rafael for the great example.
      
      llvm-svn: 77083
      2de95105
    • Daniel Dunbar's avatar
      Simplify JIT target selection. · 691a4784
      Daniel Dunbar authored
       - Instead of requiring targets to define a JIT quality match function, we just
         have them specify if they support a JIT.
      
       - Target selection for the JIT just gets the host triple and looks for the best
         target which matches the triple and has a JIT.
      
      llvm-svn: 77060
      691a4784
    • Sanjiv Gupta's avatar
      Mark attributes of return insn correctly. It was being assumed safe to delete... · b6ee0b1d
      Sanjiv Gupta authored
      Mark attributes of return insn correctly. It was being assumed safe to delete in isSafeToDelete (a thing checked-in 76281).
      
      llvm-svn: 77056
      b6ee0b1d
    • Daniel Dunbar's avatar
      Add new helpers for registering targets. · 5680b4f2
      Daniel Dunbar authored
       - Less boilerplate == good.
      
      llvm-svn: 77052
      5680b4f2
    • Evan Cheng's avatar
      80 col violation. · ea23c3ba
      Evan Cheng authored
      llvm-svn: 77041
      ea23c3ba
    • Evan Cheng's avatar
      Get rid of a couple of unnecessary getOpcode calls. · c1a5cfa9
      Evan Cheng authored
      llvm-svn: 77035
      c1a5cfa9
    • Evan Cheng's avatar
      Another TODO. · b2c22f00
      Evan Cheng authored
      llvm-svn: 77026
      b2c22f00
    • Evan Cheng's avatar
      Change Thumb2 jumptable codegen to one that uses two level jumps: · f3a1fce8
      Evan Cheng authored
      Before:
            adr r12, #LJTI3_0_0
            ldr pc, [r12, +r0, lsl #2]
      LJTI3_0_0:
            .long    LBB3_24
            .long    LBB3_30
            .long    LBB3_31
            .long    LBB3_32
      
      After:
            adr r12, #LJTI3_0_0
            add pc, r12, +r0, lsl #2
      LJTI3_0_0:
            b.w    LBB3_24
            b.w    LBB3_30
            b.w    LBB3_31
            b.w    LBB3_32
      
      This has several advantages.
      1. This will make it easier to optimize this to a TBB / TBH instruction +
         (smaller) table.
      2. This eliminate the need for ugly asm printer hack to force the address
         into thumb addresses (bit 0 is one).
      3. Same codegen for pic and non-pic.
      4. This eliminate the need to align the table so constantpool island pass
         won't have to over-estimate the size.
      
      Based on my calculation, the later is probably slightly faster as well since
      ldr pc with shifter address is very slow. That is, it should be a win as long
      as the HW implementation can do a reasonable job of branch predict the second
      branch.
      
      llvm-svn: 77024
      f3a1fce8
Loading