Skip to content
  1. Jul 26, 2009
  2. 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
    • Daniel Dunbar's avatar
      More migration to raw_ostream, the water has dried up around the iostream hole. · 0dd5e1ed
      Daniel Dunbar authored
       - Some clients which used DOUT have moved to DEBUG. We are deprecating the
         "magic" DOUT behavior which avoided calling printing functions when the
         statement was disabled. In addition to being unnecessary magic, it had the
         downside of leaving code in -Asserts builds, and of hiding potentially
         unnecessary computations.
      
      llvm-svn: 77019
      0dd5e1ed
Loading