Skip to content
  1. Oct 30, 2013
    • Rafael Espindola's avatar
      Add calls to doInitialization() and doFinalization() in verifyFunction() · 55fdcff4
      Rafael Espindola authored
      The function verifyFunction() in lib/IR/Verifier.cpp misses some
      calls. It creates a temporary FunctionPassManager that will run a
      single Verifier pass. Unfortunately, FunctionPassManager is no
      PassManager and does not call doInitialization() and doFinalization()
      by itself. Verifier does important tasks in doInitialization() such as
      collecting type information used to check DebugInfo metadata and
      doFinalization() does some additional checks. Therefore these checks
      were missed and debug info couldn't be verified at all, it just
      crashed if the function had some.
      
      verifyFunction() is currently not used in llvm unless -debug option is
      enabled, and in unittests/IR/VerifierTest.cpp
      
      VerifierTest had to be changed to create the function in a module from
      which the type debug info can be collected.
      
      Patch by Michael Kruse.
      
      llvm-svn: 193719
      55fdcff4
  2. Jun 19, 2013
  3. Jan 07, 2013
  4. Jan 02, 2013
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  5. Dec 04, 2012
  6. Jul 18, 2011
  7. Jan 15, 2011
  8. Jan 13, 2011
  9. Jan 08, 2011
    • Rafael Espindola's avatar
      First step in fixing PR8927: · 45e6c195
      Rafael Espindola authored
      Add a unnamed_addr bit to global variables and functions. This will be used
      to indicate that the address is not significant and therefore the constant
      or function can be merged with others.
      
      If an optimization pass can show that an address is not used, it can set this.
      
      Examples of things that can have this set by the FE are globals created to
      hold string literals and C++ constructors.
      
      Adding unnamed_addr to a non-const global should have no effect unless
      an optimization can transform that global into a constant.
      
      Aliases are not allowed to have unnamed_addr since I couldn't figure
      out any use for it.
      
      llvm-svn: 123063
      45e6c195
  10. Mar 13, 2010
  11. Feb 15, 2010
Loading