Skip to content
  1. May 14, 2010
  2. Apr 17, 2010
  3. Mar 24, 2010
  4. Mar 22, 2010
  5. Feb 18, 2010
  6. 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
  7. Jan 22, 2010
  8. Jan 18, 2010
  9. Jan 17, 2010
  10. Jan 05, 2010
  11. Dec 09, 2009
  12. Nov 03, 2009
  13. Oct 22, 2009
  14. Oct 14, 2009
  15. Sep 11, 2009
    • Dan Gohman's avatar
      Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't · e5929236
      Dan Gohman authored
      working. To support this, add an is_displayed() function to raw_ostream,
      and generalize Process::StandardOutIsDisplayed and friends in order to
      support it.
      
      Also, call RemoveFileOnSignal before creating a file instead of after, so
      that the file isn't left behind if the program is interrupted between when
      the file is created and RemoveFileOnSignal is called.
      
      While here, add a -S to llvm-extract and port it to IRReader so that it
      supports assembly input.
      
      llvm-svn: 81568
      e5929236
  16. Sep 05, 2009
  17. Sep 03, 2009
  18. Aug 31, 2009
    • Chris Lattner's avatar
      Fix some nasty callgraph dangling pointer problems in · 305b115a
      Chris Lattner authored
      argpromotion and structretpromote.  Basically, when replacing
      a function, they used the 'changeFunction' api which changes
      the entry in the function map (and steals/reuses the callgraph
      node).
      
      This has some interesting effects: first, the problem is that it doesn't
      update the "callee" edges in any callees of the function in the call graph.
      Second, this covers for a major problem in all the CGSCC pass stuff, which 
      is that it is completely broken when functions are deleted if they *don't*
      reuse a CGN.  (there is a cute little fixme about this though :).
      
      This patch changes the protocol that CGSCC passes must obey: now the CGSCC 
      pass manager copies the SCC and preincrements its iterator to avoid passes
      invalidating it.  This allows CGSCC passes to mutate the current SCC.  However
      multiple passes may be run on that SCC, so if passes do this, they are now
      required to *update* the SCC to be current when they return.
      
      Other less interesting parts of this patch are that it makes passes update
      the CG more directly, eliminates changeFunction, and requires clients of
      replaceCallSite to specify the new callee CGN if they are changing it.
      
      llvm-svn: 80527
      305b115a
  19. Aug 25, 2009
    • Dan Gohman's avatar
      Make LLVM command-line tools overwrite their output files without -f. · 61a8796d
      Dan Gohman authored
      This is conventional command-line tool behavior. -f now just means
      "enable binary output on terminals".
      
      Add a -f option to llvm-extract and llvm-link, for consistency.
      
      Remove F_Force from raw_fd_ostream and enable overwriting and
      truncating by default. Introduce an F_Excl flag to permit users to
      enable a failure when the file already exists. This flag is
      currently unused.
      
      Update Makefiles and documentation accordingly.
      
      llvm-svn: 79990
      61a8796d
  20. Aug 24, 2009
  21. Aug 23, 2009
  22. Aug 22, 2009
  23. Jul 17, 2009
  24. Jul 16, 2009
  25. Jul 15, 2009
  26. Jul 01, 2009
  27. Jun 03, 2009
  28. Feb 18, 2009
  29. Dec 31, 2008
  30. Dec 04, 2008
  31. Nov 26, 2008
Loading