Re: r301815 - Adapt to LLVM's rename of WeakVH to WeakTrackingVH; NFC

2017-05-03 Thread Sanjoy Das via cfe-commits
Hi Yaron,

On Wed, May 3, 2017 at 2:11 AM, Yaron Keren  wrote:
> out-of-tree code that uses WeakVH will continue to compile OK but may not
> perform OK with WeakVH not tracking anymore.
> May be better not to reuse WeakVH yet so such code will fail compilation.

Typically we tend to focus on simplicity of the C++ API over its
backward compatibility, so I'd rather not choose a poorer name for
WeakVH solely for that reason.  Downstream users tracking ToT are
expected to proactively track upstream commits (as far as I know) for
this same reason.

However, I will make sure that the change shows up in the release
notes.  I've already sent out a heads up email to llvm-dev.

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


r301815 - Adapt to LLVM's rename of WeakVH to WeakTrackingVH; NFC

2017-05-01 Thread Sanjoy Das via cfe-commits
Author: sanjoy
Date: Mon May  1 12:08:00 2017
New Revision: 301815

URL: http://llvm.org/viewvc/llvm-project?rev=301815=rev
Log:
Adapt to LLVM's rename of WeakVH to WeakTrackingVH; NFC

Modified:
cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
cfe/trunk/lib/CodeGen/CGObjCMac.cpp
cfe/trunk/lib/CodeGen/CodeGenFunction.h
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
cfe/trunk/lib/CodeGen/CodeGenModule.h

Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=301815=301814=301815=diff
==
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Mon May  1 12:08:00 2017
@@ -571,9 +571,10 @@ CodeGenFunction::GenerateCXXGlobalInitFu
   FinishFunction();
 }
 
-void CodeGenFunction::GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,
-  const std::vector >
-) {
+void CodeGenFunction::GenerateCXXGlobalDtorsFunc(
+llvm::Function *Fn,
+const std::vector>
+) {
   {
 auto NL = ApplyDebugLocation::CreateEmpty(*this);
 StartFunction(GlobalDecl(), getContext().VoidTy, Fn,

Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=301815=301814=301815=diff
==
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon May  1 12:08:00 2017
@@ -886,7 +886,7 @@ protected:
 
   /// Cached reference to the class for constant strings. This value has type
   /// int * but is actually an Obj-C class pointer.
-  llvm::WeakVH ConstantStringClassRef;
+  llvm::WeakTrackingVH ConstantStringClassRef;
 
   /// \brief The LLVM type corresponding to NSConstantString.
   llvm::StructType *NSConstantStringType = nullptr;

Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=301815=301814=301815=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenFunction.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.h Mon May  1 12:08:00 2017
@@ -3471,9 +3471,10 @@ public:
 
   /// GenerateCXXGlobalDtorsFunc - Generates code for destroying global
   /// variables.
-  void GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,
-  const std::vector > );
+  void GenerateCXXGlobalDtorsFunc(
+  llvm::Function *Fn,
+  const std::vector>
+  );
 
   void GenerateCXXGlobalVarDeclInitFunc(llvm::Function *Fn,
 const VarDecl *D,

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=301815=301814=301815=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Mon May  1 12:08:00 2017
@@ -1154,7 +1154,7 @@ void CodeGenModule::addCompilerUsedGloba
 }
 
 static void emitUsed(CodeGenModule , StringRef Name,
- std::vector ) {
+ std::vector ) {
   // Don't create llvm.used if there is no need.
   if (List.empty())
 return;

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=301815=301814=301815=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.h Mon May  1 12:08:00 2017
@@ -344,8 +344,8 @@ private:
   /// List of global values which are required to be present in the object 
file;
   /// bitcast to i8*. This is used for forcing visibility of symbols which may
   /// otherwise be optimized out.
-  std::vector LLVMUsed;
-  std::vector LLVMCompilerUsed;
+  std::vector LLVMUsed;
+  std::vector LLVMCompilerUsed;
 
   /// Store the list of global constructors and their respective priorities to
   /// be emitted when the translation unit is complete.
@@ -416,7 +416,7 @@ private:
   SmallVector PrioritizedCXXGlobalInits;
 
   /// Global destructor functions and arguments that need to run on 
termination.
-  std::vector > CXXGlobalDtors;
+  std::vector> 
CXXGlobalDtors;
 
   /// \brief The complete set of modules that has been imported.
   llvm::SetVector ImportedModules;
@@ -433,7 +433,7 @@ private:
 
   /// Cached reference to the class for 

r301789 - Remove unneeded struct; NFC

2017-05-01 Thread Sanjoy Das via cfe-commits
Author: sanjoy
Date: Mon May  1 01:12:13 2017
New Revision: 301789

URL: http://llvm.org/viewvc/llvm-project?rev=301789=rev
Log:
Remove unneeded struct; NFC

Summary:
Unless I'm missing something, the DeferredGlobal struct's GV field is
unused, removing which makes the struct itself trivial.

Reviewers: rafael, chandlerc

Subscribers: mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D32691

Modified:
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
cfe/trunk/lib/CodeGen/CodeGenModule.h

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=301789=301788=301789=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Mon May  1 01:12:13 2017
@@ -1328,13 +1328,10 @@ void CodeGenModule::EmitDeferred() {
 
   // Grab the list of decls to emit. If EmitGlobalDefinition schedules more
   // work, it will not interfere with this.
-  std::vector CurDeclsToEmit;
+  std::vector CurDeclsToEmit;
   CurDeclsToEmit.swap(DeferredDeclsToEmit);
 
-  for (DeferredGlobal  : CurDeclsToEmit) {
-GlobalDecl D = G.GD;
-G.GV = nullptr;
-
+  for (GlobalDecl  : CurDeclsToEmit) {
 // We should call GetAddrOfGlobal with IsForDefinition set to true in order
 // to get GlobalValue with exactly the type we need, not something that
 // might had been created for another decl with the same mangled name but
@@ -1711,13 +1708,13 @@ void CodeGenModule::EmitGlobal(GlobalDec
   }
 
   StringRef MangledName = getMangledName(GD);
-  if (llvm::GlobalValue *GV = GetGlobalValue(MangledName)) {
+  if (GetGlobalValue(MangledName) != nullptr) {
 // The value has already been used and should therefore be emitted.
-addDeferredDeclToEmit(GV, GD);
+addDeferredDeclToEmit(GD);
   } else if (MustBeEmitted(Global)) {
 // The value must be emitted, but cannot be emitted eagerly.
 assert(!MayBeEmittedEagerly(Global));
-addDeferredDeclToEmit(/*GV=*/nullptr, GD);
+addDeferredDeclToEmit(GD);
   } else {
 // Otherwise, remember that we saw a deferred decl with this name.  The
 // first use of the mangled name will cause it to move into
@@ -2044,7 +2041,7 @@ llvm::Constant *CodeGenModule::GetOrCrea
 if (D && isa(D) &&
 getCXXABI().useThunkForDtorVariant(cast(D),
GD.getDtorType()))
-  addDeferredDeclToEmit(F, GD);
+  addDeferredDeclToEmit(GD);
 
 // This is the first use or definition of a mangled name.  If there is a
 // deferred decl with this name, remember that we need to emit it at the 
end
@@ -2054,7 +2051,7 @@ llvm::Constant *CodeGenModule::GetOrCrea
   // Move the potentially referenced deferred decl to the
   // DeferredDeclsToEmit list, and remove it from DeferredDecls (since we
   // don't need it anymore).
-  addDeferredDeclToEmit(F, DDI->second);
+  addDeferredDeclToEmit(DDI->second);
   DeferredDecls.erase(DDI);
 
   // Otherwise, there are cases we have to worry about where we're
@@ -2074,7 +2071,7 @@ llvm::Constant *CodeGenModule::GetOrCrea
FD = FD->getPreviousDecl()) {
 if (isa(FD->getLexicalDeclContext())) {
   if (FD->doesThisDeclarationHaveABody()) {
-addDeferredDeclToEmit(F, GD.getWithDecl(FD));
+addDeferredDeclToEmit(GD.getWithDecl(FD));
 break;
   }
 }
@@ -2302,7 +2299,7 @@ CodeGenModule::GetOrCreateLLVMGlobal(Str
   if (DDI != DeferredDecls.end()) {
 // Move the potentially referenced deferred decl to the DeferredDeclsToEmit
 // list, and remove it from DeferredDecls (since we don't need it anymore).
-addDeferredDeclToEmit(GV, DDI->second);
+addDeferredDeclToEmit(DDI->second);
 DeferredDecls.erase(DDI);
   }
 

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=301789=301788=301789=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.h Mon May  1 01:12:13 2017
@@ -315,14 +315,9 @@ private:
 
   /// This is a list of deferred decls which we have seen that *are* actually
   /// referenced. These get code generated when the module is done.
-  struct DeferredGlobal {
-DeferredGlobal(llvm::GlobalValue *GV, GlobalDecl GD) : GV(GV), GD(GD) {}
-llvm::TrackingVH GV;
-GlobalDecl GD;
-  };
-  std::vector DeferredDeclsToEmit;
-  void addDeferredDeclToEmit(llvm::GlobalValue *GV, GlobalDecl GD) {
-DeferredDeclsToEmit.emplace_back(GV, GD);
+  std::vector DeferredDeclsToEmit;
+  void addDeferredDeclToEmit(GlobalDecl GD) {
+DeferredDeclsToEmit.emplace_back(GD);
   }
 
   /// List of alias we have emitted. Used to make sure that what they point to



r301430 - Revert "Update to LLVM's use of WeakTrackingVH; NFC"

2017-04-26 Thread Sanjoy Das via cfe-commits
Author: sanjoy
Date: Wed Apr 26 11:37:51 2017
New Revision: 301430

URL: http://llvm.org/viewvc/llvm-project?rev=301430=rev
Log:
Revert "Update to LLVM's use of WeakTrackingVH; NFC"

This reverts commit r301427.

Modified:
cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
cfe/trunk/lib/CodeGen/CGObjCMac.cpp
cfe/trunk/lib/CodeGen/CodeGenFunction.h
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
cfe/trunk/lib/CodeGen/CodeGenModule.h

Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=301430=301429=301430=diff
==
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Wed Apr 26 11:37:51 2017
@@ -571,10 +571,9 @@ CodeGenFunction::GenerateCXXGlobalInitFu
   FinishFunction();
 }
 
-void CodeGenFunction::GenerateCXXGlobalDtorsFunc(
-llvm::Function *Fn,
-const std::vector>
-) {
+void CodeGenFunction::GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,
+  const std::vector >
+) {
   {
 auto NL = ApplyDebugLocation::CreateEmpty(*this);
 StartFunction(GlobalDecl(), getContext().VoidTy, Fn,

Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=301430=301429=301430=diff
==
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Wed Apr 26 11:37:51 2017
@@ -886,7 +886,7 @@ protected:
 
   /// Cached reference to the class for constant strings. This value has type
   /// int * but is actually an Obj-C class pointer.
-  llvm::WeakTrackingVH ConstantStringClassRef;
+  llvm::WeakVH ConstantStringClassRef;
 
   /// \brief The LLVM type corresponding to NSConstantString.
   llvm::StructType *NSConstantStringType = nullptr;

Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=301430=301429=301430=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenFunction.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.h Wed Apr 26 11:37:51 2017
@@ -3470,10 +3470,9 @@ public:
 
   /// GenerateCXXGlobalDtorsFunc - Generates code for destroying global
   /// variables.
-  void GenerateCXXGlobalDtorsFunc(
-  llvm::Function *Fn,
-  const std::vector>
-  );
+  void GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,
+  const std::vector > );
 
   void GenerateCXXGlobalVarDeclInitFunc(llvm::Function *Fn,
 const VarDecl *D,

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=301430=301429=301430=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Wed Apr 26 11:37:51 2017
@@ -1150,7 +1150,7 @@ void CodeGenModule::addCompilerUsedGloba
 }
 
 static void emitUsed(CodeGenModule , StringRef Name,
- std::vector ) {
+ std::vector ) {
   // Don't create llvm.used if there is no need.
   if (List.empty())
 return;

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=301430=301429=301430=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.h Wed Apr 26 11:37:51 2017
@@ -349,8 +349,8 @@ private:
   /// List of global values which are required to be present in the object 
file;
   /// bitcast to i8*. This is used for forcing visibility of symbols which may
   /// otherwise be optimized out.
-  std::vector LLVMUsed;
-  std::vector LLVMCompilerUsed;
+  std::vector LLVMUsed;
+  std::vector LLVMCompilerUsed;
 
   /// Store the list of global constructors and their respective priorities to
   /// be emitted when the translation unit is complete.
@@ -421,7 +421,7 @@ private:
   SmallVector PrioritizedCXXGlobalInits;
 
   /// Global destructor functions and arguments that need to run on 
termination.
-  std::vector> 
CXXGlobalDtors;
+  std::vector > CXXGlobalDtors;
 
   /// \brief The complete set of modules that has been imported.
   llvm::SetVector ImportedModules;
@@ -438,7 +438,7 @@ private:
 
   /// Cached 

r301427 - Update to LLVM's use of WeakTrackingVH; NFC

2017-04-26 Thread Sanjoy Das via cfe-commits
Author: sanjoy
Date: Wed Apr 26 11:22:36 2017
New Revision: 301427

URL: http://llvm.org/viewvc/llvm-project?rev=301427=rev
Log:
Update to LLVM's use of WeakTrackingVH; NFC

Summary: Depends on D32266

Reviewers: davide, dblaikie

Subscribers: mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D32270

Modified:
cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
cfe/trunk/lib/CodeGen/CGObjCMac.cpp
cfe/trunk/lib/CodeGen/CodeGenFunction.h
cfe/trunk/lib/CodeGen/CodeGenModule.cpp
cfe/trunk/lib/CodeGen/CodeGenModule.h

Modified: cfe/trunk/lib/CodeGen/CGDeclCXX.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDeclCXX.cpp?rev=301427=301426=301427=diff
==
--- cfe/trunk/lib/CodeGen/CGDeclCXX.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGDeclCXX.cpp Wed Apr 26 11:22:36 2017
@@ -571,9 +571,10 @@ CodeGenFunction::GenerateCXXGlobalInitFu
   FinishFunction();
 }
 
-void CodeGenFunction::GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,
-  const std::vector >
-) {
+void CodeGenFunction::GenerateCXXGlobalDtorsFunc(
+llvm::Function *Fn,
+const std::vector>
+) {
   {
 auto NL = ApplyDebugLocation::CreateEmpty(*this);
 StartFunction(GlobalDecl(), getContext().VoidTy, Fn,

Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=301427=301426=301427=diff
==
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Wed Apr 26 11:22:36 2017
@@ -886,7 +886,7 @@ protected:
 
   /// Cached reference to the class for constant strings. This value has type
   /// int * but is actually an Obj-C class pointer.
-  llvm::WeakVH ConstantStringClassRef;
+  llvm::WeakTrackingVH ConstantStringClassRef;
 
   /// \brief The LLVM type corresponding to NSConstantString.
   llvm::StructType *NSConstantStringType = nullptr;

Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.h?rev=301427=301426=301427=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenFunction.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.h Wed Apr 26 11:22:36 2017
@@ -3470,9 +3470,10 @@ public:
 
   /// GenerateCXXGlobalDtorsFunc - Generates code for destroying global
   /// variables.
-  void GenerateCXXGlobalDtorsFunc(llvm::Function *Fn,
-  const std::vector > );
+  void GenerateCXXGlobalDtorsFunc(
+  llvm::Function *Fn,
+  const std::vector>
+  );
 
   void GenerateCXXGlobalVarDeclInitFunc(llvm::Function *Fn,
 const VarDecl *D,

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=301427=301426=301427=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Wed Apr 26 11:22:36 2017
@@ -1150,7 +1150,7 @@ void CodeGenModule::addCompilerUsedGloba
 }
 
 static void emitUsed(CodeGenModule , StringRef Name,
- std::vector ) {
+ std::vector ) {
   // Don't create llvm.used if there is no need.
   if (List.empty())
 return;

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.h
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.h?rev=301427=301426=301427=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.h (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.h Wed Apr 26 11:22:36 2017
@@ -349,8 +349,8 @@ private:
   /// List of global values which are required to be present in the object 
file;
   /// bitcast to i8*. This is used for forcing visibility of symbols which may
   /// otherwise be optimized out.
-  std::vector LLVMUsed;
-  std::vector LLVMCompilerUsed;
+  std::vector LLVMUsed;
+  std::vector LLVMCompilerUsed;
 
   /// Store the list of global constructors and their respective priorities to
   /// be emitted when the translation unit is complete.
@@ -421,7 +421,7 @@ private:
   SmallVector PrioritizedCXXGlobalInits;
 
   /// Global destructor functions and arguments that need to run on 
termination.
-  std::vector > CXXGlobalDtors;
+  std::vector> 
CXXGlobalDtors;
 
   /// \brief The complete set of 

Re: [llvm-dev] Upgrading phabricator

2016-09-29 Thread Sanjoy Das via cfe-commits

It looks like the new phabricator sends html email by default.

I personally prefer text email.  What do others think?  Is this configurable in 
the new installation?

Thanks,
-- Sanjoy

Zachary Turner via llvm-commits wrote:

You mentioned this was for an upgrade. Are there any major new features or 
bugfixes to be aware of?
On Thu, Sep 29, 2016 at 9:26 PM Eric Liu via llvm-commits 
> wrote:

Hi all,

Phabricator is (finally) back online! Let me know if you have any feedback 
or problem :)

Thanks,
Eric

On Thu, Sep 29, 2016 at 10:23 PM Eric Liu > wrote:

According to top and iotop, mysqld is still working, and the progress 
bar did move by a little bit, so I think
it's just really slow. Apologies if this is blocking you.

On Thu, Sep 29, 2016 at 10:17 PM Zachary Turner via llvm-dev 
> wrote:

Still no word on when it will be back up?  It's not hung is it?  :D

On Thu, Sep 29, 2016 at 9:03 AM mats petersson via llvm-dev 
> wrote:

On 29 September 2016 at 16:11, Mehdi Amini via llvm-dev 
> wrote:



On Sep 29, 2016, at 7:21 AM, Eric Liu via llvm-dev 
> wrote:

Sorry for blocking everyone for so long.


No pb, thanks very much for taking care of it :)


It has been more than a year since the last upgrade, and 
mysql is adjusting schema for a table
with ~150G data on a single VM instance.


150GB? I’m very surprised there is so much data in our 
phab! That seems huge...


My guess is that this includes all the diffs for every revision 
of every review (as well as all the
comments, etc), and it probably isn't as clever with diffs as 
for example git. Which quite soon adds up
to huge numbers when you have tens of thousands of reviews.

Purse speculation of course, I have never looked inside 
phabricator (or for that matter, any other
code-review tool).

--
Mats


—
Mehdi


Sadly, the progress bar isn't giving useful information 
(plus I am not a good system admin),  so I
couldn't tell the ETA...

FYI: According to previous maintainer, it takes a couple of 
hours for the last upgrade, so this
should be done within a few hours (hopefully!).

On Thu, Sep 29, 2016 at 4:04 PM Krzysztof Parzyszek via 
llvm-dev > wrote:

Is there any ETA?

-Krzysztof

On 9/29/2016 5:34 AM, Eric Liu via llvm-dev wrote:
> That was a bad estimation. Database upgrade is taking 
time.
>
> On Thu, Sep 29, 2016 at 11:03 AM Eric Liu 

> >> wrote:
>
> Hi all,
>
> Phabricator(reviews.llvm.org 
 >) will be down
> for ~30 mins for an upgrade. Sorry for the short 
notice.
>
> Regards,
> Eric
>
>
>
> ___
> LLVM Developers mailing list
> llvm-...@lists.llvm.org 

> 
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>

--
Qualcomm Innovation Center, Inc. is a member of Code 
Aurora Forum,
hosted by The Linux Foundation
___
LLVM Developers mailing list
llvm-...@lists.llvm.org 
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

___
LLVM Developers mailing list

Re: [PATCH] D21773: [clang] Update an optimization remark test for change D18777

2016-06-28 Thread Sanjoy Das via cfe-commits
sanjoy added a subscriber: anemet.
sanjoy added a comment.

Sound plausible, but I don't know this area (optimization remarks) well enough 
to sign off on this.  @anemet can you please take a look?


http://reviews.llvm.org/D21773



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


Re: [PATCH] D21507: Changes after running check modernize-use-emplace (D20964)

2016-06-23 Thread Sanjoy Das via cfe-commits
sanjoy added a comment.

One other thing to point out -- have you verified that the changes in 
`unittests/` are benign (i.e. you're not semantically changing the tests)?


Repository:
  rL LLVM

http://reviews.llvm.org/D21507



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


r265767 - Adapt to LLVM API change

2016-04-07 Thread Sanjoy Das via cfe-commits
Author: sanjoy
Date: Thu Apr  7 20:31:02 2016
New Revision: 265767

URL: http://llvm.org/viewvc/llvm-project?rev=265767=rev
Log:
Adapt to LLVM API change

Replace mayBeOverridden with isInterposable

Modified:
cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
cfe/trunk/lib/CodeGen/CodeGenModule.cpp

Modified: cfe/trunk/lib/CodeGen/CodeGenFunction.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenFunction.cpp?rev=265767=265766=265767=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenFunction.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenFunction.cpp Thu Apr  7 20:31:02 2016
@@ -921,7 +921,7 @@ void CodeGenFunction::EmitBlockWithFallT
 static void TryMarkNoThrow(llvm::Function *F) {
   // LLVM treats 'nounwind' on a function as part of the type, so we
   // can't do this on functions that can be overwritten.
-  if (F->mayBeOverridden()) return;
+  if (F->isInterposable()) return;
 
   for (llvm::BasicBlock  : *F)
 for (llvm::Instruction  : BB)

Modified: cfe/trunk/lib/CodeGen/CodeGenModule.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp?rev=265767=265766=265767=diff
==
--- cfe/trunk/lib/CodeGen/CodeGenModule.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModule.cpp Thu Apr  7 20:31:02 2016
@@ -332,7 +332,7 @@ void CodeGenModule::checkAliases() {
 // to its aliasee's aliasee. We also warn, since the user is probably
 // expecting the link to be weak.
 if (auto GA = dyn_cast(AliaseeGV)) {
-  if (GA->mayBeOverridden()) {
+  if (GA->isInterposable()) {
 Diags.Report(AA->getLocation(), diag::warn_alias_to_weak_alias)
 << GV->getName() << GA->getName();
 Aliasee = llvm::ConstantExpr::getPointerBitCastOrAddrSpaceCast(


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


Re: [PATCH] D15998: Implement __attribute__((gc_leaf_function)).

2016-02-11 Thread Sanjoy Das via cfe-commits
sanjoy resigned from this revision.
sanjoy removed a reviewer: sanjoy.
sanjoy added a comment.

Resigning for now to make my "Revisions Waiting on You" queue less noisy.  
Please don't hesitate to add me back if this or a variant of this change 
becomes active.


http://reviews.llvm.org/D15998



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


Re: [PATCH] D8899: [CodeGen] Annotate signed shift lefts with NUW

2015-09-27 Thread Sanjoy Das via cfe-commits
sanjoy resigned from this revision.
sanjoy removed a reviewer: sanjoy.
sanjoy added a comment.

This revision hasn't changed for a while, removing myself from reviewers so 
that it does not show up in my 'waiting on others' list.

Feel free to re-add my as a reviewer later if needed.


http://reviews.llvm.org/D8899



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


r248632 - Change arc-cxx11-init-list.mm to work with upcoming SCEV changes.

2015-09-26 Thread Sanjoy Das via cfe-commits
Author: sanjoy
Date: Fri Sep 25 18:07:11 2015
New Revision: 248632

URL: http://llvm.org/viewvc/llvm-project?rev=248632=rev
Log:
Change arc-cxx11-init-list.mm to work with upcoming SCEV changes.

Summary:
The store being checked for in arc-cxx11-init-list.mm is a store to an
unescaped alloca.  After an uncoming change to ScalarEvolution, LLVM is
able to elide the store, so adjust the test accordingly.

Reviewers: compnerd

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D13183

Modified:
cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm

Modified: cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm?rev=248632=248631=248632=diff
==
--- cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm (original)
+++ cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm Fri Sep 25 18:07:11 2015
@@ -41,8 +41,6 @@ extern "C" void extended() {
 }
 
 // CHECK: [[INSTANCE:%.*]] = {{.*}} call i8* bitcast (i8* (i8*, i8*, ...)* 
@objc_msgSend to i8* (i8*, i8*)*)(i8* {{.*}}, i8* {{.*}})
-// CHECK-NEXT: [[CAST:%.*]] = bitcast [1 x %0*]* %{{.*}} to i8**
-// CHECK-NEXT: store i8* [[INSTANCE]], i8** [[CAST]],
 // CHECK: {{.*}} call void @_Z8externalv()
 // CHECK: {{.*}} call void @objc_release(i8* {{.*}})
 


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


[PATCH] D13183: Change arc-cxx11-init-list.mm to work with upcoming SCEV changes.

2015-09-26 Thread Sanjoy Das via cfe-commits
sanjoy created this revision.
sanjoy added a reviewer: compnerd.
sanjoy added a subscriber: cfe-commits.

The store being checked for in arc-cxx11-init-list.mm is a store to an
unescaped alloca.  After an uncoming change to ScalarEvolution, LLVM is
able to elide the store, so adjust the test accordingly.

http://reviews.llvm.org/D13183

Files:
  test/CodeGenObjCXX/arc-cxx11-init-list.mm

Index: test/CodeGenObjCXX/arc-cxx11-init-list.mm
===
--- test/CodeGenObjCXX/arc-cxx11-init-list.mm
+++ test/CodeGenObjCXX/arc-cxx11-init-list.mm
@@ -41,8 +41,6 @@
 }
 
 // CHECK: [[INSTANCE:%.*]] = {{.*}} call i8* bitcast (i8* (i8*, i8*, ...)* 
@objc_msgSend to i8* (i8*, i8*)*)(i8* {{.*}}, i8* {{.*}})
-// CHECK-NEXT: [[CAST:%.*]] = bitcast [1 x %0*]* %{{.*}} to i8**
-// CHECK-NEXT: store i8* [[INSTANCE]], i8** [[CAST]],
 // CHECK: {{.*}} call void @_Z8externalv()
 // CHECK: {{.*}} call void @objc_release(i8* {{.*}})
 


Index: test/CodeGenObjCXX/arc-cxx11-init-list.mm
===
--- test/CodeGenObjCXX/arc-cxx11-init-list.mm
+++ test/CodeGenObjCXX/arc-cxx11-init-list.mm
@@ -41,8 +41,6 @@
 }
 
 // CHECK: [[INSTANCE:%.*]] = {{.*}} call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* {{.*}}, i8* {{.*}})
-// CHECK-NEXT: [[CAST:%.*]] = bitcast [1 x %0*]* %{{.*}} to i8**
-// CHECK-NEXT: store i8* [[INSTANCE]], i8** [[CAST]],
 // CHECK: {{.*}} call void @_Z8externalv()
 // CHECK: {{.*}} call void @objc_release(i8* {{.*}})
 
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [PATCH] D13183: Change arc-cxx11-init-list.mm to work with upcoming SCEV changes.

2015-09-26 Thread Sanjoy Das via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL248632: Change arc-cxx11-init-list.mm to work with upcoming 
SCEV changes. (authored by sanjoy).

Changed prior to commit:
  http://reviews.llvm.org/D13183?vs=35777=35778#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D13183

Files:
  cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm

Index: cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
===
--- cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
+++ cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
@@ -41,8 +41,6 @@
 }
 
 // CHECK: [[INSTANCE:%.*]] = {{.*}} call i8* bitcast (i8* (i8*, i8*, ...)* 
@objc_msgSend to i8* (i8*, i8*)*)(i8* {{.*}}, i8* {{.*}})
-// CHECK-NEXT: [[CAST:%.*]] = bitcast [1 x %0*]* %{{.*}} to i8**
-// CHECK-NEXT: store i8* [[INSTANCE]], i8** [[CAST]],
 // CHECK: {{.*}} call void @_Z8externalv()
 // CHECK: {{.*}} call void @objc_release(i8* {{.*}})
 


Index: cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
===
--- cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
+++ cfe/trunk/test/CodeGenObjCXX/arc-cxx11-init-list.mm
@@ -41,8 +41,6 @@
 }
 
 // CHECK: [[INSTANCE:%.*]] = {{.*}} call i8* bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to i8* (i8*, i8*)*)(i8* {{.*}}, i8* {{.*}})
-// CHECK-NEXT: [[CAST:%.*]] = bitcast [1 x %0*]* %{{.*}} to i8**
-// CHECK-NEXT: store i8* [[INSTANCE]], i8** [[CAST]],
 // CHECK: {{.*}} call void @_Z8externalv()
 // CHECK: {{.*}} call void @objc_release(i8* {{.*}})
 
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: [PATCH] D12719: ScalarEvolution assume hanging bugfix

2015-09-09 Thread Sanjoy Das via cfe-commits
sanjoy added a comment.

I don't think this is an infinite loop (Piotr, can you please verify
this?), it is probably an O(n!) recursion where n == number of the
assumptions.

ScalarEvolution::isImpliedCond already guards for infinite loops via
MarkPendingLoopPredicate.  However, if you have

assume_0()
 assume_1()
 assume_2()
 assume_3()

then the recursive call to isImpliedCond(assume_2, X) may end up
calling isImpliedCond(assume_1, Y) and that may end up calling
isImpliedCond(assume_0, Y) and that may end up calling
isImpliedCond(assume_3, Y).  This way, even though we're protected
against full on infinite recursion, we'll still explore all 4! = 24
possibilities.

I think the check with LoopContinuePredicate is fine since it only
calls isImpliedCond if there is exactly one latch in the loop.  This
means that the above n! possibility is really only a 1! = 1
possibility for LoopContinuePredicate.

But this from memory, so please double check.


http://reviews.llvm.org/D12719



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


Re: [PATCH] D12719: ScalarEvolution assume hanging bugfix

2015-09-09 Thread Sanjoy Das via cfe-commits
> Both tests are protected by there being exactly one latch in the loop (we
> exit early if there's not one latch). I'm not sure what makes the
> LoopContinuePredicate check safer?

You can have a loop with a single latch but an arbitrary number of
assumes (= n).  In such a loop, you'll still end up calling
isImpliedCond O(n!) times because of the assumes (and the guard
on there being only one latch won't help).

OTOH if the loop has multiple latches = m > 1, then we exit early we
won't recurse at all, we'll just bail early from
isLoopBackedgeGuardedByCond because of the check you mention (not
ideal, but safe).

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