Skip to content
  1. Jan 21, 2014
  2. Jan 13, 2014
    • Chandler Carruth's avatar
      [cleanup] Move the Dominators.h and Verifier.h headers into the IR · 5ad5f15c
      Chandler Carruth authored
      directory. These passes are already defined in the IR library, and it
      doesn't make any sense to have the headers in Analysis.
      
      Long term, I think there is going to be a much better way to divide
      these matters. The dominators code should be fully separated into the
      abstract graph algorithm and have that put in Support where it becomes
      obvious that evn Clang's CFGBlock's can use it. Then the verifier can
      manually construct dominance information from the Support-driven
      interface while the Analysis library can provide a pass which both
      caches, reconstructs, and supports a nice update API.
      
      But those are very long term, and so I don't want to leave the really
      confusing structure until that day arrives.
      
      llvm-svn: 199082
      5ad5f15c
  3. Jan 12, 2014
  4. Jan 09, 2014
    • Chandler Carruth's avatar
      Put the functionality for printing a value to a raw_ostream as an · d48cdbf0
      Chandler Carruth authored
      operand into the Value interface just like the core print method is.
      That gives a more conistent organization to the IR printing interfaces
      -- they are all attached to the IR objects themselves. Also, update all
      the users.
      
      This removes the 'Writer.h' header which contained only a single function
      declaration.
      
      llvm-svn: 198836
      d48cdbf0
  5. Jan 07, 2014
    • Rafael Espindola's avatar
      Move the llvm mangler to lib/IR. · 894843cb
      Rafael Espindola authored
      This makes it available to tools that don't link with target (like llvm-ar).
      
      llvm-svn: 198708
      894843cb
    • Chandler Carruth's avatar
      Move the LLVM IR asm writer header files into the IR directory, as they · 9aca918d
      Chandler Carruth authored
      are part of the core IR library in order to support dumping and other
      basic functionality.
      
      Rename the 'Assembly' include directory to 'AsmParser' to match the
      library name and the only functionality left their -- printing has been
      in the core IR library for quite some time.
      
      Update all of the #includes to match.
      
      All of this started because I wanted to have the layering in good shape
      before I started adding support for printing LLVM IR using the new pass
      infrastructure, and commandline support for the new pass infrastructure.
      
      llvm-svn: 198688
      9aca918d
    • Chandler Carruth's avatar
      Re-sort all of the includes with ./utils/sort_includes.py so that · 8a8cd2ba
      Chandler Carruth authored
      subsequent changes are easier to review. About to fix some layering
      issues, and wanted to separate out the necessary churn.
      
      Also comment and sink the include of "Windows.h" in three .inc files to
      match the usage in Memory.inc.
      
      llvm-svn: 198685
      8a8cd2ba
  6. Jan 03, 2014
    • Rafael Espindola's avatar
      Make the llvm mangler depend only on DataLayout. · 58873566
      Rafael Espindola authored
      Before this patch any program that wanted to know the final symbol name of a
      GlobalValue had to link with Target.
      
      This patch implements a compromise solution where the mangler uses DataLayout.
      This way, any tool that already links with Target (llc, clang) gets the exact
      behavior as before and new IR files can be mangled without linking with Target.
      
      With this patch the mangler is constructed with just a DataLayout and DataLayout
      is extended to include the information the Mangler needs.
      
      llvm-svn: 198438
      58873566
  7. Dec 19, 2013
    • Josh Magee's avatar
      [stackprotector] Use analysis from the StackProtector pass for stack layout in... · 22b8ba2d
      Josh Magee authored
      [stackprotector] Use analysis from the StackProtector pass for stack layout in PEI a nd LocalStackSlot passes.
      
      This changes the MachineFrameInfo API to use the new SSPLayoutKind information
      produced by the StackProtector pass (instead of a boolean flag) and updates a
      few pass dependencies (to preserve the SSP analysis).
      
      The stack layout follows the same approach used prior to this change - i.e.,
      only LargeArray stack objects will be placed near the canary and everything
      else will be laid out normally.  After this change, structures containing large
      arrays will also be placed near the canary - a case previously missed by the
      old implementation.
      
      Out of tree targets will need to update their usage of
      MachineFrameInfo::CreateStackObject to remove the MayNeedSP argument. 
      
      The next patch will implement the rules for sspstrong and sspreq.  The end goal
      is to support ssp-strong stack layout rules.
      
      WIP.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2158
      
      llvm-svn: 197653
      22b8ba2d
  8. Dec 16, 2013
  9. Dec 14, 2013
  10. Dec 11, 2013
  11. Dec 10, 2013
  12. Dec 07, 2013
    • Rafael Espindola's avatar
      Remove the notion of primitive types. · 08013345
      Rafael Espindola authored
      They were out of place since the introduction of arbitrary precision integer
      types.
      
      This also synchronizes the documentation to Types.h, so it refers to first class
      types and single value types.
      
      llvm-svn: 196661
      08013345
  13. Dec 05, 2013
  14. Dec 03, 2013
  15. Dec 02, 2013
  16. Nov 28, 2013
  17. Nov 19, 2013
  18. Nov 18, 2013
    • Alexey Samsonov's avatar
      Revert r194865 and r194874. · 49109a27
      Alexey Samsonov authored
      This change is incorrect. If you delete virtual destructor of both a base class
      and a subclass, then the following code:
        Base *foo = new Child();
        delete foo;
      will not cause the destructor for members of Child class. As a result, I observe
      plently of memory leaks. Notable examples I investigated are:
      ObjectBuffer and ObjectBufferStream, AttributeImpl and StringSAttributeImpl.
      
      llvm-svn: 194997
      49109a27
  19. Nov 15, 2013
  20. Nov 13, 2013
    • Rafael Espindola's avatar
      Remove AllowQuotesInName and friends from MCAsmInfo. · fdc88137
      Rafael Espindola authored
      Accepting quotes is a property of an assembler, not of an object file. For
      example, ELF can support any names for sections and symbols, but the gnu
      assembler only accepts quotes in some contexts and llvm-mc in a few more.
      
      LLVM should not produce different symbols based on a guess about which assembler
      will be reading the code it is printing.
      
      llvm-svn: 194575
      fdc88137
  21. Nov 11, 2013
  22. Oct 29, 2013
  23. Oct 27, 2013
  24. Oct 19, 2013
Loading