Skip to content
  1. Jul 09, 2009
  2. Jul 08, 2009
    • Jeffrey Yasskin's avatar
      Add an option to allocate JITed global data separately from code. By · 70415d97
      Jeffrey Yasskin authored
      default, this option is not enabled to support clients who rely on
      this behavior.
      
      Fixes http://llvm.org/PR4483
      
      A patch to allocate additional memory for globals after we run out is
      forthcoming.
      
      Patch by Reid Kleckner!
      
      llvm-svn: 75059
      70415d97
    • David Greene's avatar
      · 03808511
      David Greene authored
      Reformat.
      
      llvm-svn: 75058
      03808511
    • Devang Patel's avatar
      Drop "constant" from · f04d63a3
      Devang Patel authored
        !0 = constant metadata !{...}
      
      llvm-svn: 75057
      f04d63a3
    • David Greene's avatar
      · 9dadbbd7
      David Greene authored
      Allow users of GraphWriter to display graphs asynchronously.  This
      provides a way to quickly dump a bunch of graph information to dot files
      and display them.  It's a timesaver when working on large systems.
      
      llvm-svn: 75056
      9dadbbd7
    • David Greene's avatar
      · cdde1bb0
      David Greene authored
      Add an ExecuteNoWait interface to support asynchronous process spawning.
      
      llvm-svn: 75055
      cdde1bb0
    • Devang Patel's avatar
      Update SLotTracker to handle MDNode slots. · 983c6b1b
      Devang Patel authored
      Simplify MDNode printing.
      
      llvm-svn: 75053
      983c6b1b
    • Duncan Sands's avatar
      Nowadays vectors are only split if they have an even · 7dcc37b9
      Duncan Sands authored
      number of elements.  Make some simplifications based
      on this (in particular SplitVecRes_SETCC).  Tighten
      up some checking while there.
      
      llvm-svn: 75050
      7dcc37b9
    • Evan Cheng's avatar
      Change how so_imm and t2_so_imm are handled. At instruction selection time,... · e3a53c44
      Evan Cheng authored
      Change how so_imm and t2_so_imm are handled. At instruction selection time, the immediates are no longer encoded in the imm8 + rot format, that are left as it is. The encoding is now done in ams printing and code emission time instead.
      
      llvm-svn: 75048
      e3a53c44
    • Bill Wendling's avatar
      Recommit r74952 with a bug fix: · 0c9f367d
      Bill Wendling authored
      DWARF requires frame moves be specified at specific times. If you have a
      prologue like this:
      
      __Z3fooi:
      Leh_func_begin1:
      LBB1_0: ## entry
             pushl   %ebp
      Llabel1:
             movl    %esp, %ebp
      Llabel2:
             pushl   %esi
      Llabel3:
             subl    $20, %esp
             call    "L1$pb"
      "L1$pb":
             popl    %esi
      
      The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp,
      %ebp" makes %ebp the new stack frame register, so that needs to be specified in
      DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs
      to be specified in DWARF.
      
      Before, all of this logic was in one method. This didn't work too well, because
      as you can see there are multiple FDE line entries that need to be created.
      
      This fix creates the "MachineMove" objects directly when they're needed; instead
      of waiting until the end, and losing information.
      
      There is some ugliness where we generate code like this:
      
      
      LBB22_0:	## entry
      	pushl	%ebp
      Llabel280:
      	movl	%esp, %ebp
      Llabel281:
      Llabel284:
      	pushl	%ebp  <----------
      	pushl	%ebx
      	pushl	%edi
      	pushl	%esi
      Llabel282:
      	subl	$328, %esp
      
      Notice the extra "pushl %ebp". If we generate a "machine move" instruction in
      the FDE for that pushl, the linker may get very confused about what value %ebp
      should have when exitting the function. I.e., it'll give it the value %esp
      instead of the %ebp value from the first "pushl". Not to mention that, in this
      case, %ebp isn't modified in the function (that's a separate bug). I put a small
      hack in to get it to work. It might be the only solution, but should be
      revisited once the above case is fixed.
      
      llvm-svn: 75047
      0c9f367d
    • Bill Wendling's avatar
      Use interators instead of counters for loops. · 9242ff34
      Bill Wendling authored
      llvm-svn: 75046
      9242ff34
Loading