Skip to content
  1. 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
  2. Jan 24, 2010
  3. Jan 22, 2010
    • Chris Lattner's avatar
      Stop building RTTI information for *most* llvm libraries. Notable · 7ba0661f
      Chris Lattner authored
      missing ones are libsupport, libsystem and libvmcore.  libvmcore is
      currently blocked on bugpoint, which uses EH.  Once it stops using
      EH, we can switch it off.
      
      This #if 0's out 3 unit tests, because gtest requires RTTI information.
      Suggestions welcome on how to fix this.
      
      llvm-svn: 94164
      7ba0661f
  4. Jan 17, 2010
  5. Jan 16, 2010
  6. Jan 15, 2010
  7. Jan 11, 2010
  8. Dec 23, 2009
  9. Nov 25, 2009
  10. Nov 21, 2009
  11. Nov 18, 2009
  12. Nov 17, 2009
  13. Sep 23, 2009
  14. 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
  15. 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
  16. Aug 23, 2009
  17. Aug 22, 2009
  18. Aug 18, 2009
    • Anton Korobeynikov's avatar
      The attached patches attempt to fix cross builds. For example, if you · 90e17e78
      Anton Korobeynikov authored
      try to use i686-darwin to build for arm-eabi, you'll quickly run into
      several false assumptions that the target OS must be the same as the
      host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
      help builds like "make check" and the test-suite able to cross
      compile. Along the way a target of *-unknown-eabi is defined as
      "Freestanding" so that TARGET_OS checks have something to work with.
      
      Patch by Sandeep Patel!
      
      llvm-svn: 79296
      90e17e78
  19. Aug 13, 2009
  20. 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
  21. Aug 04, 2009
  22. 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
  23. Jul 28, 2009
  24. 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
  25. Jul 26, 2009
    • Daniel Dunbar's avatar
      Remove Value::getName{Start,End}, the last of the old Name APIs. · 6115b39f
      Daniel Dunbar authored
      llvm-svn: 77152
      6115b39f
    • 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
  26. Jul 23, 2009
    • Daniel Dunbar's avatar
      Convert StringMap to using StringRef for its APIs. · 5bf72e20
      Daniel Dunbar authored
       - Yay for '-'s and simplifications!
      
       - I kept StringMap::GetOrCreateValue for compatibility purposes, this can
         eventually go away. Likewise the StringMapEntry Create functions still follow
         the old style.
      
       - NIFC.
      
      llvm-svn: 76888
      5bf72e20
  27. Jul 22, 2009
  28. Jul 16, 2009
  29. 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
Loading