rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.

lgtm

Another consequence of doing it this way is that the /Ob1 decision will survive 
through LTO, for better or worse.

In http://reviews.llvm.org/D20647#461135, @probinson wrote:

> I'm still bemused that Clang thinks of a defined-in-class method and a method 
> marked with 'inline' as significantly different things.  But given that it 
> does, a way to make them be treated the same will be nice.


If we want to treat them the same, IMO we should have an option to drop 
inlinehint. IMO the inliner shouldn't treat any of these any differently:

  inline void f() {} // explicitly inline
  struct Foo {
    void f() {} // implicitly inline
  };
  template <typename T> struct Bar { void f(); };
  template <typename T> void Bar<T>::f() {} // weak linkage but not inline


http://reviews.llvm.org/D20647



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to