Skip to content
  1. May 22, 2011
  2. Apr 05, 2011
    • Andrew Trick's avatar
      Added *hidden* flags -print-options and -print-all-options so · 12004013
      Andrew Trick authored
      developers can see if their driver changed any cl::Option's. The
      current implementation isn't perfect but handles most kinds of
      options. This is nice to have when decomposing the stages of
      compilation and moving between different drivers. It's also a good
      sanity check when comparing results produced by different command line
      invocations that are expected to produce the comparable results.
      
      Note: This is not an attempt to prolong the life of cl::Option. On the
      contrary, it's a placeholder for a feature that must exist when
      cl::Option is replaced by a more appropriate framework. A new
      framework needs: a central option registry, dynamic name lookup,
      non-global containers of option values (e.g. per-module,
      per-function), *and* the ability to print options values and their defaults at
      any point during compilation.
      
      llvm-svn: 128910
      12004013
    • Andrew Trick's avatar
      whitespace · b826ae83
      Andrew Trick authored
      llvm-svn: 128905
      b826ae83
  3. Apr 04, 2011
  4. Feb 18, 2011
  5. Jan 31, 2011
  6. Jan 20, 2011
  7. Dec 10, 2010
  8. Dec 07, 2010
  9. Dec 02, 2010
    • Tobias Grosser's avatar
      Move check of command line options after command line parsing. · 083379f8
      Tobias Grosser authored
      The check to not allow -analyze and -disable-output at the same time was done
      before parsing the command line flags. Therefore it never triggered, and in case
      both options where used opt segfaulted. Fix this by moving this check a after
      command line parsing.
      
      llvm-svn: 120732
      083379f8
  10. Nov 29, 2010
  11. Nov 03, 2010
  12. Oct 20, 2010
    • Tobias Grosser's avatar
      Add RegionPass support. · 23c8341c
      Tobias Grosser authored
      A RegionPass is executed like a LoopPass but on the regions detected by the
      RegionInfo pass instead of the loops detected by the LoopInfo pass.
      
      llvm-svn: 116905
      23c8341c
  13. 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
  14. Oct 07, 2010
  15. Sep 08, 2010
  16. Sep 01, 2010
  17. Aug 20, 2010
  18. Aug 18, 2010
  19. Aug 06, 2010
  20. Jul 12, 2010
  21. May 27, 2010
  22. May 14, 2010
  23. Apr 17, 2010
  24. Mar 24, 2010
  25. Mar 22, 2010
  26. Feb 18, 2010
  27. Jan 27, 2010
    • Jeffrey Yasskin's avatar
      Kill ModuleProvider and ghost linkage by inverting the relationship between · 091217be
      Jeffrey Yasskin authored
      Modules and ModuleProviders. Because the "ModuleProvider" simply materializes
      GlobalValues now, and doesn't provide modules, it's renamed to
      "GVMaterializer". Code that used to need a ModuleProvider to materialize
      Functions can now materialize the Functions directly. Functions no longer use a
      magic linkage to record that they're materializable; they simply ask the
      GVMaterializer.
      
      Because the C ABI must never change, we can't remove LLVMModuleProviderRef or
      the functions that refer to it. Instead, because Module now exposes the same
      functionality ModuleProvider used to, we store a Module* in any
      LLVMModuleProviderRef and translate in the wrapper methods.  The bindings to
      other languages still use the ModuleProvider concept.  It would probably be
      worth some time to update them to follow the C++ more closely, but I don't
      intend to do it.
      
      Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735.
      
      llvm-svn: 94686
      091217be
  28. Jan 22, 2010
  29. Jan 18, 2010
  30. Jan 17, 2010
Loading