Skip to content
  1. Mar 09, 2008
  2. Mar 07, 2008
  3. Mar 05, 2008
  4. Mar 04, 2008
  5. Feb 20, 2008
  6. Feb 19, 2008
  7. Feb 18, 2008
  8. Feb 14, 2008
  9. Feb 05, 2008
  10. Jan 27, 2008
  11. Jan 26, 2008
  12. Jan 25, 2008
  13. Jan 12, 2008
  14. Jan 11, 2008
  15. Jan 03, 2008
  16. Dec 29, 2007
  17. Dec 25, 2007
    • Gordon Henriksen's avatar
      GC poses hazards to the inliner. Consider: · b969c598
      Gordon Henriksen authored
          define void @f() {
                  ...
                  call i32 @g()
                  ...
          }
      
          define void @g() {
                  ...
          }
      
      The hazards are:
      
        - @f and @g have GC, but they differ GC. Inlining is invalid. This
          may never occur.
        - @f has no GC, but @g does. g's GC must be propagated to @f.
      
      The other scenarios are safe:
      
        - @f and @g have the same GC.
        - @f and @g have no GC.
        - @g has no GC.
      
      This patch adds inliner checks for the former two scenarios.
      
      llvm-svn: 45351
      b969c598
  18. Dec 22, 2007
  19. Dec 19, 2007
  20. Dec 18, 2007
  21. Dec 17, 2007
  22. Dec 16, 2007
    • Duncan Sands's avatar
      Revert this part of r45073 until the verifier is · 56ed4803
      Duncan Sands authored
      changed not to reject invoke of inline asm.
      
      llvm-svn: 45077
      56ed4803
    • Duncan Sands's avatar
      Make instcombine promote inline asm calls to 'nounwind' · 8e4847ee
      Duncan Sands authored
      calls.  Remove special casing of inline asm from the
      inliner.  There is a potential problem: the verifier
      rejects invokes of inline asm (not sure why).  If an
      asm call is not marked "nounwind" in some .ll, and
      instcombine is not run, but the inliner is run, then
      an illegal module will be created.  This is bad but
      I'm not sure what the best approach is.  I'm tempted
      to remove the check in the verifier...
      
      llvm-svn: 45073
      8e4847ee
  23. Dec 10, 2007
    • Chris Lattner's avatar
      Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp. · d2265b45
      Chris Lattner authored
      Reimplement the xform in Analysis/ConstantFolding.cpp where we can use
      targetdata to validate that it is safe.  While I'm in there, fix some const
      correctness issues and generalize the interface to the "operand folder".
      
      llvm-svn: 44817
      d2265b45
    • Gordon Henriksen's avatar
      Adding a collector name attribute to Function in the IR. These · 71183b67
      Gordon Henriksen authored
      methods are new to Function:
      
        bool hasCollector() const;
        const std::string &getCollector() const;
        void setCollector(const std::string &);
        void clearCollector();
      
      The assembly representation is as such:
      
        define void @f() gc "shadow-stack" { ...
      
      The implementation uses an on-the-side table to map Functions to 
      collector names, such that there is no overhead. A StringPool is 
      further used to unique collector names, which are extremely
      likely to be unique per process.
      
      llvm-svn: 44769
      71183b67
  24. Dec 03, 2007
  25. Nov 27, 2007
  26. Nov 09, 2007
  27. Nov 04, 2007
Loading