Skip to content
  1. Feb 02, 2010
  2. 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
  3. Jan 17, 2010
  4. Jan 16, 2010
  5. Jan 15, 2010
  6. Jan 11, 2010
  7. Nov 25, 2009
  8. Nov 21, 2009
  9. Nov 18, 2009
  10. Nov 17, 2009
  11. Aug 25, 2009
    • Dan Gohman's avatar
      Delete some unnecessary flushes. · 896ef2be
      Dan Gohman authored
      llvm-svn: 80013
      896ef2be
    • 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
  12. Aug 24, 2009
    • Chris Lattner's avatar
      Prune #includes from llvm/Linker.h and llvm/System/Path.h, · c521f541
      Chris Lattner authored
      forcing them down into various .cpp files.
      
      This change also:
      1. Renames TimeValue::toString() and Path::toString() to ::str()
         for similarity with the STL.
      2. Removes all stream insertion support for sys::Path, forcing
         clients to call .str().
      3. Removes a use of Config/alloca.h from bugpoint, using smallvector
         instead.
      4. Weans llvm-db off <iostream>
      
      sys::Path really needs to be gutted, but I don't have the desire to
      do it at this point.
      
      llvm-svn: 79869
      c521f541
  13. Aug 23, 2009
  14. Aug 22, 2009
  15. Aug 13, 2009
  16. Aug 11, 2009
    • Jim Grosbach's avatar
      SjLj based exception handling unwinding support. This patch is nasty, brutish · 693e36a3
      Jim Grosbach authored
      and short. Well, it's kinda short. Definitely nasty and brutish.
      
      The front-end generates the register/unregister calls into the SjLj runtime,
      call-site indices and landing pad dispatch. The back end fills in the LSDA
      with the call-site information provided by the front end. Catch blocks are
      not yet implemented.
      
      Built on Darwin and verified no llvm-core "make check" regressions.
      
      llvm-svn: 78625
      693e36a3
  17. Aug 04, 2009
  18. Aug 03, 2009
    • Nick Lewycky's avatar
      129bb416
    • Daniel Dunbar's avatar
      Remove now unused arguments from TargetRegistry::lookupTarget. · 719d2355
      Daniel Dunbar authored
      llvm-svn: 77950
      719d2355
    • Daniel Dunbar's avatar
      Pass target triple string in to TargetMachine constructor. · 0f16ea5c
      Daniel Dunbar authored
      This is not just a matter of passing in the target triple from the module;
      currently backends are making decisions based on the build and host
      architecture. The goal is to migrate to making these decisions based off of the
      triple (in conjunction with the feature string). Thus most clients pass in the
      target triple, or the host triple if that is empty.
      
      This has one important change in the way behavior of the JIT and llc.
      
      For the JIT, it was previously selecting the Target based on the host
      (naturally), but it was setting the target machine features based on the triple
      from the module. Now it is setting the target machine features based on the
      triple of the host.
      
      For LLC, -march was previously only used to select the target, the target
      machine features were initialized from the module's triple (which may have been
      empty). Now the target triple is taken from the module, or the host's triple is
      used if that is empty. Then the triple is adjusted to match -march.
      
      The take away is that -march for llc is now used in conjunction with the host
      triple to initialize the subtarget. If users want more deterministic behavior
      from llc, they should use -mtriple, or set the triple in the input module.
      
      llvm-svn: 77946
      0f16ea5c
  19. Jul 27, 2009
    • Nick Lewycky's avatar
      Fix libLTO: · fd6a2498
      Nick Lewycky authored
       * Call InitializeAllTargets on every path where we might query the
         TargetRegistry. This fixes PR4604.
       * flush the formatted_raw_ostream& or else not all of the assembly will make
         it to the .s file. (It doesn't do this in its destructor?!)
       * Due to a reversed conditional, libLTO was reporting many symbols as both
         defined and undefined, including two definitions of the same symbol name
         in its symbol list.
      
      llvm-svn: 77170
      fd6a2498
  20. Jul 26, 2009
    • Daniel Dunbar's avatar
      Add TargetRegistry::lookupTarget. · 47d67915
      Daniel Dunbar authored
       - This is a simplified mechanism which just looks up a target based on the
         target triple, with a few additional flags.
      
       - Remove getClosestStaticTargetForModule, the moral equivalent is now:
           lookupTarget(Mod->getTargetTriple, true, false, ...);
      
       - This no longer does the fuzzy matching with target data (based on endianness
         and pointer width) that getClosestStaticTargetForModule was doing, but this
         was deemed unnecessary.
      
      llvm-svn: 77111
      47d67915
  21. Jul 22, 2009
  22. Jul 16, 2009
  23. Jul 15, 2009
    • Daniel Dunbar's avatar
      Reapply TargetRegistry refactoring commits. · e833810a
      Daniel Dunbar authored
      --- Reverse-merging r75799 into '.':
       U   test/Analysis/PointerTracking
      U    include/llvm/Target/TargetMachineRegistry.h
      U    include/llvm/Target/TargetMachine.h
      U    include/llvm/Target/TargetRegistry.h
      U    include/llvm/Target/TargetSelect.h
      U    tools/lto/LTOCodeGenerator.cpp
      U    tools/lto/LTOModule.cpp
      U    tools/llc/llc.cpp
      U    lib/Target/PowerPC/PPCTargetMachine.h
      U    lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
      U    lib/Target/PowerPC/PPCTargetMachine.cpp
      U    lib/Target/PowerPC/PPC.h
      U    lib/Target/ARM/ARMTargetMachine.cpp
      U    lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
      U    lib/Target/ARM/ARMTargetMachine.h
      U    lib/Target/ARM/ARM.h
      U    lib/Target/XCore/XCoreTargetMachine.cpp
      U    lib/Target/XCore/XCoreTargetMachine.h
      U    lib/Target/PIC16/PIC16TargetMachine.cpp
      U    lib/Target/PIC16/PIC16TargetMachine.h
      U    lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
      U    lib/Target/Alpha/AlphaTargetMachine.cpp
      U    lib/Target/Alpha/AlphaTargetMachine.h
      U    lib/Target/X86/X86TargetMachine.h
      U    lib/Target/X86/X86.h
      U    lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
      U    lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
      U    lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h
      U    lib/Target/X86/X86TargetMachine.cpp
      U    lib/Target/MSP430/MSP430TargetMachine.cpp
      U    lib/Target/MSP430/MSP430TargetMachine.h
      U    lib/Target/CppBackend/CPPTargetMachine.h
      U    lib/Target/CppBackend/CPPBackend.cpp
      U    lib/Target/CBackend/CTargetMachine.h
      U    lib/Target/CBackend/CBackend.cpp
      U    lib/Target/TargetMachine.cpp
      U    lib/Target/IA64/IA64TargetMachine.cpp
      U    lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp
      U    lib/Target/IA64/IA64TargetMachine.h
      U    lib/Target/IA64/IA64.h
      U    lib/Target/MSIL/MSILWriter.cpp
      U    lib/Target/CellSPU/SPUTargetMachine.h
      U    lib/Target/CellSPU/SPU.h
      U    lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
      U    lib/Target/CellSPU/SPUTargetMachine.cpp
      U    lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp
      U    lib/Target/Mips/MipsTargetMachine.cpp
      U    lib/Target/Mips/MipsTargetMachine.h
      U    lib/Target/Mips/Mips.h
      U    lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
      U    lib/Target/Sparc/SparcTargetMachine.cpp
      U    lib/Target/Sparc/SparcTargetMachine.h
      U    lib/ExecutionEngine/JIT/TargetSelect.cpp
      U    lib/Support/TargetRegistry.cpp
      
      llvm-svn: 75820
      e833810a
    • Dan Gohman's avatar
      Add a Force option to raw_fd_ostream to specify whether opening · 607818a2
      Dan Gohman authored
      an existing file is considered an error. Convert several tools
      to use raw_fd_ostream instead of std::ostream, and to use this
      new option instead of doing a manual check.
      
      llvm-svn: 75801
      607818a2
    • Stuart Hastings's avatar
      Revert 75762, 75763, 75766..75769, 75772..75775, 75778, 75780, 75782 to repair... · 338191cd
      Stuart Hastings authored
      Revert 75762, 75763, 75766..75769, 75772..75775, 75778, 75780, 75782 to repair broken LLVM-GCC build.
      Will revert 75770 in the llvm-gcc trunk.
      
      llvm-svn: 75799
      338191cd
    • Daniel Dunbar's avatar
      Switch some obvious clients to using the new TargetRegistry. · a8d73996
      Daniel Dunbar authored
      llvm-svn: 75767
      a8d73996
  24. Jul 14, 2009
    • David Greene's avatar
      · a31f96cf
      David Greene authored
      Have asm printers use formatted_raw_ostream directly to avoid a
      dynamic_cast<>.
      
      llvm-svn: 75670
      a31f96cf
    • Chris Lattner's avatar
      Reapply my previous asmprinter changes now with more testing and two · 8c9a96b9
      Chris Lattner authored
      additional bug fixes:
      
      1. The bug that everyone hit was a problem in the asmprinter where it
         would remove $stub but keep the L prefix on a name when emitting the
         indirect symbol.  This is easy to fix by keeping the name of the stub
         and the name of the symbol in a StringMap instead of just keeping a
         StringSet and trying to reconstruct it late.
      
      2. There was a problem printing the personality function.  The current
         logic to print out the personality function from the DWARF information
         is a bit of a cesspool right now that duplicates a bunch of other 
         logic in the asm printer.  The short version of it is that it depends
         on emitting both the L and _ prefix for symbols (at least on darwin)
         and until I can untangle it, it is best to switch the mangler back to
         emitting both prefixes.
      
      llvm-svn: 75646
      8c9a96b9
    • Daniel Dunbar's avatar
      Revert r7561{9,8,7,6}, which depend on r75610. · eb3e4271
      Daniel Dunbar authored
      --- Reverse-merging r75619 into '.':
      U    lib/Target/DarwinTargetAsmInfo.cpp
      U    lib/CodeGen/AsmPrinter/AsmPrinter.cpp
      --- Reverse-merging r75618 into '.':
      U    lib/CodeGen/ELFWriter.cpp
      U    lib/CodeGen/MachOCodeEmitter.cpp
      U    lib/CodeGen/MachOWriter.cpp
      --- Reverse-merging r75617 into '.':
      U    lib/Target/CBackend/CBackend.cpp
      --- Reverse-merging r75616 into '.':
      U    tools/bugpoint/Miscompilation.cpp
      U    tools/lto/LTOCodeGenerator.cpp
      U    tools/lto/LTOModule.cpp
      
      llvm-svn: 75638
      eb3e4271
    • Chris Lattner's avatar
      rename getValueName -> getMangledName · 0639a728
      Chris Lattner authored
      llvm-svn: 75616
      0639a728
Loading