Page MenuHomePhabricator

manojgupta (Manoj Gupta)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 12 2016, 10:04 PM (140 w, 14 h)

Recent Activity

Yesterday

manojgupta added reviewers for D52524: Add -Wpoison-system-directories warning: rtrieu, aaron.ballman.

Adding a few more reviewers since I am not very familiar with this part of clang.
Please also update the patch description as suggested by @thakis

Mon, Aug 19, 12:10 PM · Restricted Project
manojgupta added inline comments to D52524: Add -Wpoison-system-directories warning.
Mon, Aug 19, 10:51 AM · Restricted Project

Wed, Aug 14

manojgupta added inline comments to D52524: Add -Wpoison-system-directories warning.
Wed, Aug 14, 8:20 PM · Restricted Project
manojgupta added a comment to D52524: Add -Wpoison-system-directories warning.

Wouldn't those projects just move to also disabling the warning by passing -Wno-poison-system-directories? If there are projects that are actively adding -I/usr/include, that means they're consciously fighting the build system and you've kind of already lost, no? Can't you tell them to not use -I/usr/include?

Wed, Aug 14, 7:59 PM · Restricted Project
manojgupta added a comment to D52524: Add -Wpoison-system-directories warning.

Couldn't cross build users just pass -nostdsysteminc to tell clang to not look in system header locations?

Wed, Aug 14, 4:15 PM · Restricted Project

Sat, Aug 3

manojgupta updated subscribers of D65019: [ARM] push LR before __gnu_mcount_nc.
Sat, Aug 3, 10:52 AM · Restricted Project, Restricted Project

Jul 16 2019

manojgupta added a comment to D48680: Add missing visibility annotation for __base.

@pcc can you please submit this patch if there are no objections?

Jul 16 2019, 10:47 AM

Jul 15 2019

manojgupta added a comment to D49466: Initial implementation of -fmacro-prefix-map and -ffile-prefix-map.

@dankm are you still working on this patch?

Jul 15 2019, 11:32 AM · Restricted Project, Restricted Project

Jun 24 2019

manojgupta added a comment to D48680: Add missing visibility annotation for __base.

@ldionne Does Peter's example answer your questions?

Jun 24 2019, 1:28 PM

May 29 2019

manojgupta added inline comments to D62627: [NFC] Do not run CGProfilePass when -fno-integrated-as is on.
May 29 2019, 2:41 PM · Restricted Project

May 28 2019

manojgupta added a comment to D48680: Add missing visibility annotation for __base.

Hi Peter and Marshall,

May 28 2019, 11:54 AM

Apr 10 2019

manojgupta added a comment to D60472: [AArch64][PowerPC][Driver] Allow setting crypto feature through -mcrypto for ARM/AArch64.
Apr 10 2019, 8:04 AM · Restricted Project
manojgupta added a comment to D60472: [AArch64][PowerPC][Driver] Allow setting crypto feature through -mcrypto for ARM/AArch64.
Apr 10 2019, 8:00 AM · Restricted Project
manojgupta added a comment to D60472: [AArch64][PowerPC][Driver] Allow setting crypto feature through -mcrypto for ARM/AArch64.

The motivation for this change is to make "crypto" setting an additive option e.g. like "-mavx" used in many media packages. Some packages in Chrome want to enable crypto conditionally for a few files to allow crypto feature to be used based on runtime cpu detection. They set "-march=armv8+crypto" flag but it gets overridden by the global "-march=armv8a" flag set by the build system in Chrome OS because the target cpu does not support crypto causing compile-time errors.
Ability to specify "-mcrypto" standalone makes it an additive option and ensures that it it is not lost. i.e. this will help in decoupling "-mcrypto" from "-march" so that they could be set independently. The current additive alternate is '-Xclang -target-feature -Xclang "+crypto" ' which is ugly.

Apr 10 2019, 7:37 AM · Restricted Project

Apr 9 2019

manojgupta added inline comments to D60472: [AArch64][PowerPC][Driver] Allow setting crypto feature through -mcrypto for ARM/AArch64.
Apr 9 2019, 11:03 AM · Restricted Project

Mar 13 2019

manojgupta added inline comments to D59264: [Driver] Support compiler-rt crtbegin.o/crtend.o for Linux.
Mar 13 2019, 4:14 PM · Restricted Project, Restricted Project
manojgupta updated subscribers of D59264: [Driver] Support compiler-rt crtbegin.o/crtend.o for Linux.
Mar 13 2019, 1:55 PM · Restricted Project, Restricted Project

Mar 9 2019

manojgupta added a comment to D53608: [builtins] Build float128 soft float builtins for x86_64..

Hi
What's the status for __float128 support? Has it already been finished?

Mar 9 2019, 8:37 AM · Restricted Project, Restricted Project

Nov 14 2018

manojgupta added a comment to D54487: Implement llvm.commandline named metadata.

Yes, but that is somewhat different. The "-g" option seems to just append the command line to the producer string, yes? It is harder to parse out later and it can be stripped out. gcc has both -g and -f forms.

Nov 14 2018, 12:52 PM

Nov 13 2018

manojgupta added a comment to D54487: Implement llvm.commandline named metadata.

Doesn't clang already has -grecord-gcc-switches option (https://clang.llvm.org/docs/ClangCommandLineReference.html#debug-information-flags) ?

Nov 13 2018, 6:37 PM

Oct 24 2018

manojgupta added a comment to D53608: [builtins] Build float128 soft float builtins for x86_64..

Took another look and seems like long double is hardcoded in many of the builtins. So I think the current patch needs to rename a lot of places using long double to __float128 type.

Oct 24 2018, 1:35 PM · Restricted Project, Restricted Project

Oct 23 2018

manojgupta added a comment to D53608: [builtins] Build float128 soft float builtins for x86_64..

I am also getting these tests failures because of missing trunctfxf2 and extendxftf2. These are provided by libgcc but compiler-rt does not seem to have an implementation for them.

Oct 23 2018, 3:17 PM · Restricted Project, Restricted Project
manojgupta added inline comments to D53608: [builtins] Build float128 soft float builtins for x86_64..
Oct 23 2018, 2:53 PM · Restricted Project, Restricted Project
manojgupta updated the diff for D53608: [builtins] Build float128 soft float builtins for x86_64..

Added checked for defined(FLOAT128) || defined(SIZEOF_FLOAT128)

Oct 23 2018, 2:50 PM · Restricted Project, Restricted Project
manojgupta added inline comments to D53608: [builtins] Build float128 soft float builtins for x86_64..
Oct 23 2018, 1:42 PM · Restricted Project, Restricted Project
manojgupta created D53608: [builtins] Build float128 soft float builtins for x86_64..
Oct 23 2018, 1:38 PM · Restricted Project, Restricted Project

Sep 26 2018

manojgupta added a reviewer for D52524: Add -Wpoison-system-directories warning: rsmith.
Sep 26 2018, 11:14 AM · Restricted Project

Sep 20 2018

manojgupta added a comment to D52248: [SEMA] ignore duplicate declaration specifiers from typeof exprs.

lgtm. But someone more familiar with these code paths should approve.

Sep 20 2018, 1:15 PM

Sep 19 2018

manojgupta added a comment to D52248: [SEMA] ignore duplicate declaration specifiers from typeof exprs.

As per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80868, I thought GCC also emits this error but only with -pedantic. So probably should keep this error but under -Wextra or another appropriate group?

Sep 19 2018, 3:19 PM

Sep 12 2018

manojgupta added a comment to D51713: Support -fno-omit-frame-pointer with -pg..

What is the call generated with -pg for AMR32, gnu_mcount_nc or _mount? gnu_mcount_nc with "-pg" is known to be broken ( https://bugs.llvm.org/show_bug.cgi?id=33845)

I CCed myself on that issue as we are trying to do a better job of supporting code coverage, but I don't think this bug is relevant for this patch.

Unless there are any additional reviews, I will likely submit this patch in a few hours.

Sep 12 2018, 2:44 PM
manojgupta added a comment to D51713: Support -fno-omit-frame-pointer with -pg..

What is the call generated with -pg for AMR32, gnu_mcount_nc or _mount? gnu_mcount_nc with "-pg" is known to be broken ( https://bugs.llvm.org/show_bug.cgi?id=33845)

Sep 12 2018, 1:32 PM

Sep 4 2018

manojgupta added inline comments to D48580: [AArch64] Support reserving x1-7 registers..
Sep 4 2018, 8:36 PM

Aug 29 2018

manojgupta added a comment to D51440: [ToolChains] Link to compiler-rt with -L + -l when possible.

Just a minor comment regarding test cases: Since you are adding both -L/path/ and -l<libname>, the test cases should be updated to check for the -L/path/ argument as well.

I guess I could do that, although we don't know the path in the test, so we can only check for -L.*.

Aug 29 2018, 11:21 AM
manojgupta added a comment to D51440: [ToolChains] Link to compiler-rt with -L + -l when possible.

Just a minor comment regarding test cases: Since you are adding both -L/path/ and -l<libname>, the test cases should be updated to check for the -L/path/ argument as well.

Aug 29 2018, 10:31 AM

Jul 30 2018

manojgupta added a comment to D50000: [Inline] Copy "null-pointer-is-valid" attribute in caller..

Congrats on D50000 :)

Jul 30 2018, 12:50 PM
manojgupta committed rL338292: [Inline] Copy "null-pointer-is-valid" attribute in caller..
[Inline] Copy "null-pointer-is-valid" attribute in caller.
Jul 30 2018, 12:34 PM
manojgupta closed D50000: [Inline] Copy "null-pointer-is-valid" attribute in caller..
Jul 30 2018, 12:34 PM
manojgupta created D50000: [Inline] Copy "null-pointer-is-valid" attribute in caller..
Jul 30 2018, 12:06 PM

Jul 26 2018

manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Random uneducated thought - how does it work with multiple translation units, where not all of them have/don't have that flag set?

Jul 26 2018, 11:59 AM

Jul 25 2018

manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Note that, I am expecting that functions with alwaysinline attribute should still get inlined. If that happens and caller does not have this attribute, then optimizer is free to remove the checks.

Not that I actually hit that, but it was questionable when reading the code - why that way? From LangRef: alwaysinline "indicates that the inliner should attempt to inline this function into callers whenever possible, ignoring any active inlining size threshold for this caller." So there is some freedom by not doing the inlining, even in the presence of the attribute.

Wouldn't it be better not to inline or to add the attribute to the caller?

Jul 25 2018, 12:50 PM

Jul 23 2018

manojgupta added a comment to D49690: ConstantFolding: Avoid a crash..

Thanks for the quick review!

Jul 23 2018, 3:29 PM
manojgupta committed rL337742: ConstantFolding: Avoid a crash..
ConstantFolding: Avoid a crash.
Jul 23 2018, 2:20 PM
manojgupta closed D49690: ConstantFolding: Avoid a crash..
Jul 23 2018, 2:20 PM
manojgupta added a comment to D49690: ConstantFolding: Avoid a crash..

Thanks Piotr for the testcase.

Jul 23 2018, 12:11 PM
manojgupta created D49690: ConstantFolding: Avoid a crash..
Jul 23 2018, 12:10 PM

Jul 19 2018

manojgupta added a comment to D48580: [AArch64] Support reserving x1-7 registers..

What clang version is that? Works fine for me.

Jul 19 2018, 10:51 AM
manojgupta added a comment to D48580: [AArch64] Support reserving x1-7 registers..

@efriedma Maybe not relevant to the patch here but our kernel devs were looking into preserve_all but it does not seem to work for AArch64.

Jul 19 2018, 10:45 AM

Jul 18 2018

manojgupta committed rL337433: [clang]: Add support for "-fno-delete-null-pointer-checks".
[clang]: Add support for "-fno-delete-null-pointer-checks"
Jul 18 2018, 5:50 PM
manojgupta committed rC337433: [clang]: Add support for "-fno-delete-null-pointer-checks".
[clang]: Add support for "-fno-delete-null-pointer-checks"
Jul 18 2018, 5:50 PM
manojgupta closed D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".
Jul 18 2018, 5:49 PM
manojgupta updated subscribers of D48580: [AArch64] Support reserving x1-7 registers..
Jul 18 2018, 4:38 PM
manojgupta updated the summary of D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".
Jul 18 2018, 1:38 PM

Jul 17 2018

manojgupta updated the diff for D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".

Added helper text, updated tests.

Jul 17 2018, 8:06 AM

Jul 16 2018

manojgupta added a reviewer for D47894: [clang]: Add support for "-fno-delete-null-pointer-checks": george.burgess.iv.
Jul 16 2018, 2:31 PM

Jul 13 2018

manojgupta added a comment to D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".

Ping!

Jul 13 2018, 1:27 PM
manojgupta updated subscribers of D49272: [CMake] Don't use CLANG_DEFAULT_* values.
Jul 13 2018, 10:55 AM
manojgupta added a comment to D49272: [CMake] Don't use CLANG_DEFAULT_* values.

Thanks Petr, I can confirm that this fixed the compiler-rt build issues in Chrome OS builds.

Jul 13 2018, 8:07 AM

Jul 11 2018

manojgupta added a comment to D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".

@efriedma @jyknight Does the change match your expectations where warnings are still generated but codeGen does not emit nonnull attribute?

Jul 11 2018, 8:34 AM

Jul 10 2018

manojgupta updated the diff for D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".

Do not generate calls with "nonnull" attribute with "-fno-delete-null-pointer-checks".
The warnings are still generated when nullptr is passed to a function with nonnull
attribute.

Jul 10 2018, 3:08 PM

Jul 9 2018

manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Thanks everyone, specially Eli for the reviews.

Jul 9 2018, 3:34 PM
manojgupta committed rL336613: llvm: Add support for "-fno-delete-null-pointer-checks".
llvm: Add support for "-fno-delete-null-pointer-checks"
Jul 9 2018, 3:32 PM
manojgupta closed D47895: llvm: Add support for "-fno-delete-null-pointer-checks".
Jul 9 2018, 3:32 PM

Jul 7 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Made suggested changes.

Jul 7 2018, 5:06 PM

Jul 3 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Handle getObjectSize by passing the ObjectSizeOpts in callers.

Jul 3 2018, 2:47 PM
manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Swooping in on this admittedly quite late: should the objectsize bits in MemoryBuiltins.cpp be made aware of this?

In particular, the ObjectSizeOffsetVisitor will happily hand you "0 bytes are accessible here" if you hand it null (...though not if you ask it via __builtin_object_size, since that has a gcc-compat hack around NULL, as well). We should probably make the NullIsUnknownSize field we pass into that factor in whether the current Function has this new null-is-ok attribute on it.

...Since it's possible for us to just hand it a ConstantPointerNull without a Function attached, we probably need to plumb this in from callers of llvm::getObjectSize/llvm::lowerObjectSizeCall/...

Jul 3 2018, 9:10 AM

Jul 2 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Rebase to master + handle constant folding of intrinsic strip_invariant_group.

Jul 2 2018, 11:52 AM
manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Replace GlobalVariable by global variable.

Jul 2 2018, 10:10 AM

Jun 29 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Updated LangRef and added comment in ConstantFolding about inability
to query the attribute.

Jun 29 2018, 4:41 PM
manojgupta added inline comments to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".
Jun 29 2018, 4:28 PM
manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Fix an issue pointed by efriedma. All tests still pass.

Jun 29 2018, 4:27 PM
manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

@efriedma : can you take a look again?
Thanks!

Jun 29 2018, 1:48 PM

Jun 26 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Fixed typo in inlining unit test.

Jun 26 2018, 3:11 PM
manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Drive by comments

You also need to change the inliner to not inline null-pointer-is-dereferenceable into functions that don't have that attribute.

Jun 26 2018, 2:19 PM
manojgupta added a comment to D48588: ConstantFold: Don't fold global address vs. null for addrspace != 0.

LGTM

Jun 26 2018, 1:58 PM
manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Made requested changes and added more tests.

Jun 26 2018, 1:58 PM

Jun 21 2018

manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

@efriedma I think I have addressed the changes you requested, can you ptal?

Jun 21 2018, 11:23 AM

Jun 20 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Added a comment in GlobalOpt.cpp

Jun 20 2018, 11:34 AM

Jun 18 2018

manojgupta added inline comments to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".
Jun 18 2018, 1:04 PM
manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

I went through those files but many of these addressSpace() == 0 (and != 0) checks are not for null pointers but for disabling/skipping some memory optimizations. And it is not clear to me if moving all of those checks to the new NullPointerIsDefined function makes sense there.

We should probably add a section to LangRef on address spaces, and what transforms are specifically allowed only in address space 0.

I'm sure we need to handle null-pointer-is-valid in CallSite.h, at least.

Jun 18 2018, 1:00 PM
manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Update LangRef.

Jun 18 2018, 12:56 PM
manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Added checks to CallSite.h and LoopAccessAnalysis.cpp.
Added another test case for atomic loads.
Moved The NullPointerIsDefined function to Function.h.

Jun 18 2018, 12:53 PM

Jun 14 2018

manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Added more test cases, updated LangRef, added a check for address space 0
in GlobalOpt.

Jun 14 2018, 3:40 AM

Jun 13 2018

manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Tests look good, at first glance.

For LangRef, I was referring to https://llvm.org/docs/LangRef.html#function-attributes, yes. (There might be some gaps in the documentation, but ideally that should cover all the function attributes recognized by LLVM transforms and code generation.)

Jun 13 2018, 11:48 AM
manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Missing LangRef changes.

Jun 13 2018, 10:32 AM
manojgupta updated the diff for D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Updated some passes and added more test cases.

Jun 13 2018, 10:30 AM

Jun 7 2018

manojgupta added a comment to D47895: llvm: Add support for "-fno-delete-null-pointer-checks".

Missing LangRef changes.

How did you come up with the set of checks which need to be updated? Quickly grepping through the source, I found you missed at least lib/Analysis/ValueTracking.cpp, include/llvm/IR/CallSite.h, lib/Analysis/LazyValueInfo.cpp, and lib/Analysis/ConstantFolding.cpp .

Jun 7 2018, 2:11 PM
manojgupta added a comment to D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".

Does IR generation need any special handling for this? We add nonnull attributes in various places.

Jun 7 2018, 1:59 PM
manojgupta created D47895: llvm: Add support for "-fno-delete-null-pointer-checks".
Jun 7 2018, 11:17 AM
manojgupta created D47894: [clang]: Add support for "-fno-delete-null-pointer-checks".
Jun 7 2018, 11:16 AM

May 16 2018

manojgupta accepted D46932: [AArch64] Correct inline assembly test case for S modifier [NFC].
May 16 2018, 3:30 PM

May 15 2018

manojgupta accepted D46745: [AArch64] Support "S" inline assembler constraint.

Marking as approved since no comments/concerns have been raised, and change is pretty simple.

May 15 2018, 8:46 AM

May 11 2018

manojgupta added a comment to D46745: [AArch64] Support "S" inline assembler constraint.

Thanks Peter.

May 11 2018, 11:03 AM

May 9 2018

manojgupta committed rL331928: Update pragma-attribute-supported-attributes-list.test..
Update pragma-attribute-supported-attributes-list.test.
May 9 2018, 3:09 PM
manojgupta committed rC331928: Update pragma-attribute-supported-attributes-list.test..
Update pragma-attribute-supported-attributes-list.test.
May 9 2018, 3:09 PM
manojgupta committed rL331925: [Clang] Implement function attribute no_stack_protector..
[Clang] Implement function attribute no_stack_protector.
May 9 2018, 2:45 PM
manojgupta committed rC331925: [Clang] Implement function attribute no_stack_protector..
[Clang] Implement function attribute no_stack_protector.
May 9 2018, 2:45 PM
manojgupta closed D46300: [Clang] Implement function attribute no_stack_protector..
May 9 2018, 2:44 PM
manojgupta added a comment to D46300: [Clang] Implement function attribute no_stack_protector..

Thanks!

May 9 2018, 1:46 PM
manojgupta updated the diff for D46300: [Clang] Implement function attribute no_stack_protector..

Updated test case for error msg with arguments.
Updated the documentation.

May 9 2018, 12:56 PM

May 7 2018

manojgupta added inline comments to D46300: [Clang] Implement function attribute no_stack_protector..
May 7 2018, 12:40 PM