Skip to content
  1. Dec 10, 2010
  2. Oct 21, 2010
  3. Oct 19, 2010
    • Owen Anderson's avatar
      Get rid of static constructors for pass registration. Instead, every pass... · 6c18d1aa
      Owen Anderson authored
      Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which
      must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
      the pass's dependencies.
      
      Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
      CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
      before parsing commandline arguments.
      
      I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
      with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
      registration/creation, please send the testcase to me directly.
      
      llvm-svn: 116820
      6c18d1aa
  4. Oct 16, 2010
  5. Oct 08, 2010
  6. Sep 04, 2010
  7. Aug 06, 2010
  8. Jul 22, 2010
  9. Jul 16, 2010
    • Dan Gohman's avatar
      Revert r108369, sorting llvm.dbg.declare information by source position, · 1e936277
      Dan Gohman authored
      since it doesn't work for front-ends which don't emit column information
      (which includes llvm-gcc in its present configuration), and doesn't
      work for clang for K&R style variables where the variables are declared
      in a different order from the parameter list.
      
      Instead, make a separate pass through the instructions to collect the
      llvm.dbg.declare instructions in order. This ensures that the debug
      information for variables is emitted in this order.
      
      llvm-svn: 108538
      1e936277
  10. Jul 15, 2010
  11. Apr 16, 2010
    • Bill Wendling's avatar
      The JIT calls TidyLandingPads to tidy up the landing pads. However, because the · 929f3c09
      Bill Wendling authored
      JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
      section for the MCSymbol is never set. And thus the MCSymbol for the EH label
      isn't marked as "defined". Because of that, TidyLandingPads removes the needed
      landing pads from the JIT output. This breaks EH for every JIT program.
      
      This is a work-around for this limitation. We pass in the label locations
      map. If the label has a non-zero value, then it was "emitted" by the JIT and
      TidyLandingPads shouldn't remove that label.
      
      A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
      upon the section being set to determine if it's defined or not.
      
      llvm-svn: 101453
      929f3c09
  12. Apr 15, 2010
  13. Apr 06, 2010
  14. Mar 23, 2010
  15. Mar 16, 2010
    • Chris Lattner's avatar
      Fix the third (and last known) case of code update problems due · db035a0a
      Chris Lattner authored
      to LLVM IR changes with addr label weirdness.  In the testcase, we
      generate references to the two bb's when codegen'ing the first
      function:
      
      _test1:                                 ## @test1
      	leaq	Ltmp0(%rip), %rax
      ..
      	leaq	Ltmp1(%rip), %rax
      
      Then continue to codegen the second function where the blocks
      get merged.  We're now smart enough to emit both labels, producing
      this code:
      
      _test_fun:                              ## @test_fun
      ## BB#0:                                ## %entry
      Ltmp1:                                  ## Block address taken
      Ltmp0:
      ## BB#1:                                ## %ret
      	movl	$-1, %eax
      	ret
      
      Rejoice.
      
      llvm-svn: 98595
      db035a0a
  16. Mar 15, 2010
  17. Mar 14, 2010
  18. Mar 13, 2010
    • Chris Lattner's avatar
      rearrange MCContext ownership. Before LLVMTargetMachine created it · e468f88b
      Chris Lattner authored
      and passing off ownership to AsmPrinter.  Now MachineModuleInfo
      creates it and owns it by value.  This allows us to use MCSymbols
      more consistently throughout the rest of the code generator, and
      simplifies a bit of code.  This also allows MachineFunction to 
      keep an MCContext reference handy, and cleans up the TargetRegistry
      interfaces for AsmPrinters.
      
      llvm-svn: 98450
      e468f88b
  19. Mar 09, 2010
  20. Feb 06, 2010
  21. Jan 28, 2010
  22. Jan 21, 2010
  23. Nov 24, 2009
  24. Nov 12, 2009
  25. Oct 08, 2009
  26. Sep 30, 2009
  27. Sep 16, 2009
Loading