Skip to content
  1. Dec 06, 2012
    • Pedro Artigas's avatar
      · bf7d3bab
      Pedro Artigas authored
      change MCContext to work on the doInitialization/doFinalization model
      
      reviewed by Evan Cheng <evan.cheng@apple.com>
      
      llvm-svn: 169456
      bf7d3bab
  2. Dec 05, 2012
    • Pedro Artigas's avatar
      · 41b98843
      Pedro Artigas authored
      - Added calls to doInitialization/doFinalization to immutable passes
      - fixed ordering of calls to doFinalization to be the reverse of the pass run order due to potential dependencies
      - fixed machine module info to operate in the doInitialization/doFinalization model, also fixes some FIXMEs
      
      reviewed by Evan Cheng <evan.cheng@apple.com>
      
      llvm-svn: 169391
      41b98843
  3. Dec 03, 2012
    • Pedro Artigas's avatar
      moves doInitialization and doFinalization to the Pass class and removes some... · e4348b04
      Pedro Artigas authored
      moves doInitialization and doFinalization to the Pass class and removes some unreachable code in MachineModuleInfo
      
      reviewed by Evan Cheng <evan.cheng@apple.com>
      
      llvm-svn: 169164
      e4348b04
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      Chandler Carruth authored
      Sooooo many of these had incorrect or strange main module includes.
      I have manually inspected all of these, and fixed the main module
      include to be the nearest plausible thing I could find. If you own or
      care about any of these source files, I encourage you to take some time
      and check that these edits were sensible. I can't have broken anything
      (I strictly added headers, and reordered them, never removed), but they
      may not be the headers you'd really like to identify as containing the
      API being implemented.
      
      Many forward declarations and missing includes were added to a header
      files to allow them to parse cleanly when included first. The main
      module rule does in fact have its merits. =]
      
      llvm-svn: 169131
      ed0881b2
  4. Oct 08, 2012
  5. Feb 22, 2012
  6. Feb 14, 2012
  7. Feb 05, 2012
  8. Oct 06, 2011
  9. Jul 28, 2011
  10. Jul 20, 2011
  11. Jul 19, 2011
  12. Jul 18, 2011
  13. Dec 10, 2010
  14. Oct 21, 2010
  15. 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
  16. Oct 16, 2010
  17. Oct 08, 2010
  18. Sep 04, 2010
  19. Aug 06, 2010
  20. Jul 22, 2010
  21. 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
  22. Jul 15, 2010
  23. 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
  24. Apr 15, 2010
  25. Apr 06, 2010
  26. Mar 23, 2010
  27. 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
  28. Mar 15, 2010
  29. Mar 14, 2010
Loading