Skip to content
  1. Feb 26, 2013
  2. Feb 06, 2013
  3. 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
    • Chandler Carruth's avatar
      Rename VMCore directory to IR. · ef860a24
      Chandler Carruth authored
      Aside from moving the actual files, this patch only updates the build
      system and the source file comments under lib/... that are relevant.
      
      I'll be updating other docs and other files in smaller subsequnet
      commits.
      
      While I've tried to test this, but it is entirely possible that there
      will still be some build system fallout.
      
      Also, note that I've not changed the library name itself: libLLVMCore.a
      is still the library name. I'd be interested in others' opinions about
      whether we should rename this as well (I think we should, just not sure
      what it might break)
      
      llvm-svn: 171359
      ef860a24
  4. Dec 05, 2012
    • Pedro Artigas's avatar
      · 41b98843
      Pedro Artigas authored
      - Added calls to doInitialization/doFinalization to immutable passes
      - fixed ordering of calls to doFinalization to be the reverse of the pass run order due to potential dependencies
      - fixed machine module info to operate in the doInitialization/doFinalization model, also fixes some FIXMEs
      
      reviewed by Evan Cheng <evan.cheng@apple.com>
      
      llvm-svn: 169391
      41b98843
  5. Dec 03, 2012
  6. Dec 01, 2012
  7. Nov 30, 2012
  8. Nov 29, 2012
  9. Nov 27, 2012
    • Owen Anderson's avatar
      Revert r168635 "Step towards implementation of pass manager with... · 1db12f51
      Owen Anderson authored
      Revert r168635 "Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model".
      It appears to have broken at least one buildbot.
      
      llvm-svn: 168654
      1db12f51
    • Owen Anderson's avatar
      Step towards implementation of pass manager with doInitialization and... · 336368c4
      Owen Anderson authored
      Step towards implementation of pass manager with doInitialization and doFinalization per module detangled from runOn?? calls, still has temporary code not to break ASAN to be removed when that pass conforms to the proposed model
      
      Patch by Pedro Artigas, with feedback from by Chandler Carruth.
      
      llvm-svn: 168635
      336368c4
  10. Nov 26, 2012
    • Zhou Sheng's avatar
      Fix a PassManager pointer use-after-free bug. · c1cf629e
      Zhou Sheng authored
      The bug can be triggered when we require LoopInfo analysis ahead of DominatorTree construction in a Module Pass. The cause is that the LoopInfo analysis itself also invokes DominatorTree construction, therefore, when PassManager schedules LoopInfo, it will add DominatorTree first. Then after that, when the PassManger turns to schedule DominatorTree invoked by the above ModulePass, it finds there is already a DominatorTree, so it delete the redundant one. However, somehow it still try to access that pass pointer after free as code pasted below, which results in segment fault.
      
      llvm-svn: 168581
      c1cf629e
  11. Nov 15, 2012
  12. Nov 13, 2012
  13. Nov 12, 2012
  14. Sep 27, 2012
  15. Sep 06, 2012
  16. Jul 18, 2012
  17. May 14, 2012
  18. Mar 23, 2012
  19. Feb 05, 2012
  20. Feb 01, 2012
    • Andrew Trick's avatar
      Add pass printer passes in the right place. · cbc845f9
      Andrew Trick authored
      The pass pointer should never be referenced after sending it to
      schedulePass(), which may delete the pass. To fix this bug I had to
      clean up the design leading to more goodness.
      
      You may notice now that any non-analysis pass is printed. So things like loop-simplify and lcssa show up, while target lib, target data, alias analysis do not show up. Normally, analysis don't mutate the IR, but you can now check this by using both -print-after and -print-before. The effects of analysis will now show up in between the two.
      
      The llc path is still in bad shape. But I'll be improving it in my next checkin. Meanwhile, print-machineinstrs still works the same way. With print-before/after, many llc passes that were not printed before now are, some of these should be converted to analysis. A few very important passes, isel and scheduler, are not properly initialized, so not printed.
      
      llvm-svn: 149480
      cbc845f9
  21. Dec 20, 2011
  22. Oct 16, 2011
  23. Sep 13, 2011
  24. Aug 29, 2011
  25. Aug 27, 2011
  26. Aug 09, 2011
  27. Jun 03, 2011
    • Andrew Trick's avatar
      Basic PassManager diagnostics. · 6bbaf133
      Andrew Trick authored
      Added asserts whenever attempting to use a potentially
      uninitialized pass. This helps people trying to develop a new pass and
      people trying to understand the bug reports filed by the former people.
      
      llvm-svn: 132520
      6bbaf133
    • Andrew Trick's avatar
      whitespace · b3bddf0e
      Andrew Trick authored
      llvm-svn: 132519
      b3bddf0e
  28. Apr 15, 2011
  29. Mar 10, 2011
    • Devang Patel's avatar
      Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is... · fa31d38a
      Devang Patel authored
      Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information. 
      It generates output that lools like
      
      8 times line number info lost by Scalar Replacement of Aggregates (SSAUp) 
      1 times line number info lost by Simplify well-known library calls 
      12 times variable info lost by Jump Threading
      
      llvm-svn: 127381
      fa31d38a
  30. Mar 09, 2011
Loading