Skip to content
  1. Dec 22, 2011
  2. Dec 21, 2011
  3. Dec 20, 2011
  4. Dec 19, 2011
  5. Dec 14, 2011
  6. Dec 12, 2011
  7. Dec 07, 2011
  8. Dec 06, 2011
  9. Nov 29, 2011
  10. Nov 23, 2011
  11. Nov 16, 2011
  12. Nov 11, 2011
    • Bruno Cardoso Lopes's avatar
      Mips MC object code emission improvements: · c85e3ff3
      Bruno Cardoso Lopes authored
      "With this patch we can now generate runnable Mips code through LLVM
      direct object emission. We have run numerous simple programs, both C
      and C++ and with -O0 and -O3 from the output. The code is not production
      ready, but quite useful for experimentation." Patch and message by
      Jack Carter
      
      llvm-svn: 144414
      c85e3ff3
  13. Nov 03, 2011
  14. Oct 18, 2011
  15. Oct 14, 2011
  16. Sep 30, 2011
  17. Sep 21, 2011
  18. Sep 13, 2011
  19. Sep 07, 2011
  20. Aug 30, 2011
  21. Aug 24, 2011
  22. Aug 23, 2011
  23. Jul 29, 2011
    • Chandler Carruth's avatar
      Rewrite the CMake build to use explicit dependencies between libraries, · 9d7feab3
      Chandler Carruth authored
      specified in the same file that the library itself is created. This is
      more idiomatic for CMake builds, and also allows us to correctly specify
      dependencies that are missed due to bugs in the GenLibDeps perl script,
      or change from compiler to compiler. On Linux, this returns CMake to
      a place where it can relably rebuild several targets of LLVM.
      
      I have tried not to change the dependencies from the ones in the current
      auto-generated file. The only places I've really diverged are in places
      where I was seeing link failures, and added a dependency. The goal of
      this patch is not to start changing the dependencies, merely to move
      them into the correct location, and an explicit form that we can control
      and change when necessary.
      
      This also removes a serialization point in the build because we don't
      have to scan all the libraries before we begin building various tools.
      We no longer have a step of the build that regenerates a file inside the
      source tree. A few other associated cleanups fall out of this.
      
      This isn't really finished yet though. After talking to dgregor he urged
      switching to a single CMake macro to construct libraries with both
      sources and dependencies in the arguments. Migrating from the two macros
      to that style will be a follow-up patch.
      
      Also, llvm-config is still generated with GenLibDeps.pl, which means it
      still has slightly buggy dependencies. The internal CMake
      'llvm-config-like' macro uses the correct explicitly specified
      dependencies however. A future patch will switch llvm-config generation
      (when using CMake) to be based on these deps as well.
      
      This may well break Windows. I'm getting a machine set up now to dig
      into any failures there. If anyone can chime in with problems they see
      or ideas of how to solve them for Windows, much appreciated.
      
      llvm-svn: 136433
      9d7feab3
  24. Jul 28, 2011
    • Oscar Fuentes's avatar
      Explicitly declare a library dependency of LLVM*Desc to · a8666a3c
      Oscar Fuentes authored
      LLVM*AsmPrinter.
      
      GenLibDeps.pl fails to detect vtable references. As this is the only
      referenced symbol from LLVM*Desc to LLVM*AsmPrinter on optimized
      builds, the algorithm that creates the list of libraries to be linked
      into tools doesn't know about the dependency and sometimes places the
      libraries on the wrong order, yielding error messages like this:
      
      ../../lib/libLLVMARMDesc.a(ARMMCTargetDesc.cpp.o): In function
      `llvm::ARMInstPrinter::ARMInstPrinter(llvm::MCAsmInfo const&)':
      ARMMCTargetDesc.cpp:(.text._ZN4llvm14ARMInstPrinterC1ERKNS_9MCAsmInfoE
      [llvm::ARMInstPrinter::ARMInstPrinter(llvm::MCAsmInfo
      const&)]+0x2a): undefined reference to `vtable for
      llvm::ARMInstPrinter'
      
      llvm-svn: 136328
      a8666a3c
  25. Jul 26, 2011
    • Chandler Carruth's avatar
      Clean up a pile of hacks in our CMake build relating to TableGen. · 97c069c1
      Chandler Carruth authored
      The first problem to fix is to stop creating synthetic *Table_gen
      targets next to all of the LLVM libraries. These had no real effect as
      CMake specifies that add_custom_command(OUTPUT ...) directives (what the
      'tablegen(...)' stuff expands to) are implicitly added as dependencies
      to all the rules in that CMakeLists.txt.
      
      These synthetic rules started to cause problems as we started more and
      more heavily using tablegen files from *subdirectories* of the one where
      they were generated. Within those directories, the set of tablegen
      outputs was still available and so these synthetic rules added them as
      dependencies of those subdirectories. However, they were no longer
      properly associated with the custom command to generate them. Most of
      the time this "just worked" because something would get to the parent
      directory first, and run tablegen there. Once run, the files existed and
      the build proceeded happily. However, as more and more subdirectories
      have started using this, the probability of this failing to happen has
      increased. Recently with the MC refactorings, it became quite common for
      me when touching a large enough number of targets.
      
      To add insult to injury, several of the backends *tried* to fix this by
      adding explicit dependencies back to the parent directory's tablegen
      rules, but those dependencies didn't work as expected -- they weren't
      forming a linear chain, they were adding another thread in the race.
      
      This patch removes these synthetic rules completely, and adds a much
      simpler function to declare explicitly that a collection of tablegen'ed
      files are referenced by other libraries. From that, we can add explicit
      dependencies from the smaller libraries (such as every architectures
      Desc library) on this and correctly form a linear sequence. All of the
      backends are updated to use it, sometimes replacing the existing attempt
      at adding a dependency, sometimes adding a previously missing dependency
      edge.
      
      Please let me know if this causes any problems, but it fixes a rather
      persistent and problematic source of build flakiness on our end.
      
      llvm-svn: 136023
      97c069c1
  26. Jul 25, 2011
  27. Jul 23, 2011
  28. Jul 22, 2011
Loading