Page MenuHomePhabricator

compnerd (Saleem Abdulrasool)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 9 2012, 11:41 PM (323 w, 5 d)

Recent Activity

Yesterday

compnerd committed rG896289277da5: CodeGen: use COMDAT for block copy/destroy helpers (authored by compnerd).
CodeGen: use COMDAT for block copy/destroy helpers
Fri, Feb 22, 8:31 AM
compnerd committed rC354678: CodeGen: use COMDAT for block copy/destroy helpers.
CodeGen: use COMDAT for block copy/destroy helpers
Fri, Feb 22, 8:30 AM
compnerd committed rL354678: CodeGen: use COMDAT for block copy/destroy helpers.
CodeGen: use COMDAT for block copy/destroy helpers
Fri, Feb 22, 8:30 AM

Thu, Feb 21

compnerd added a comment to D57533: lit: support long paths on Windows.

@rnk - okay, that seems reasonable - can you please update the documentation on how to setup the Visual Studio Developer command prompt such that you can use the tools (assuming that Git is setup by the Visual Studio Installer) then?

Thu, Feb 21, 4:20 PM · Restricted Project

Tue, Feb 19

compnerd added a comment to D58405: Merge target triple into module triple when constructing module from memory.

Probably just a replay of GDB protocol packets connected to a testing server would work. But, I don't know if there is infrastructure for that yet.

Tue, Feb 19, 4:41 PM · Restricted Project
compnerd added inline comments to D58415: Add Swift enumerator value for CodeView::SourceLanguage.
Tue, Feb 19, 4:35 PM · Restricted Project
compnerd added a comment to D58416: [llvm-cxxfilt] Split and demangle stdin input on certain non-alphanumerics..

Previously we would have emitted Foo [[:space:]] . right?

Tue, Feb 19, 4:34 PM · Restricted Project
compnerd accepted D58398: Add Facebook Minidump directory streams and options to dump them..

Would be nice to change the filecheck prefixes to CHECK-... to separate the CHECK and the item being checked.

Tue, Feb 19, 11:29 AM · Restricted Project
compnerd accepted D58266: [MC] Sort DWARF FDEs by the associated CIE before emitting them..

Actually, I'm not sure if that is a bug in libstackunwind, but rather in LLVM. I think that this is the behaviour that GCC has specifically for the eh_frame section. This constraint is not part of the DWARF spec, but eh_frame even though it is similar to debug_frame, is not part of the DWARF spec, it just uses a similar encoding. The change itself looks good, but, please wait for the discussion to complete before committing this.

Tue, Feb 19, 8:47 AM · Restricted Project
compnerd accepted D58298: [libObject][NFC] Use sys::path::convert_to_slash..

Thanks!

Tue, Feb 19, 8:43 AM · Restricted Project

Thu, Feb 14

compnerd added a comment to D57533: lit: support long paths on Windows.

@rnk @zturner @ruiu - can we come to a decision here?

Thu, Feb 14, 2:48 PM · Restricted Project
compnerd committed rGcb914cf68310: Support: use internal `call_once` on PPC64le (authored by compnerd).
Support: use internal `call_once` on PPC64le
Thu, Feb 14, 10:40 AM
compnerd committed rL354045: Support: use internal `call_once` on PPC64le.
Support: use internal `call_once` on PPC64le
Thu, Feb 14, 10:40 AM
compnerd closed D56382: Change llvm call once check for building Swift for PowerPC(ppc64le).

SVN r354045

Thu, Feb 14, 10:40 AM · Restricted Project
compnerd added a comment to D58193: Do not explicitly depend on llvm tools during standalone build.

@sgraenitz - not really ... the find_package will load the LLVMConfig.cmake that is generated. We only have what we keep in there.

Thu, Feb 14, 10:29 AM · Restricted Project

Wed, Feb 13

compnerd updated the diff for D57402: build: remove custom variables.

Add HINTS

Wed, Feb 13, 5:36 PM · Restricted Project
compnerd added a comment to D57402: build: remove custom variables.

@labath - absolutely, that I don't have a problem with. I think that having the additional LLDB specific paths with LLDB_PATH_TO_* is better done by using the standard CMake mechanisms.

Wed, Feb 13, 11:10 AM · Restricted Project

Tue, Feb 12

compnerd accepted D58106: [compiler-rt] [profile] Provide lprofGetHostName for all windows environments.
Tue, Feb 12, 2:09 PM · Restricted Project, Restricted Project
compnerd added a comment to D57402: build: remove custom variables.

Yes, both paths currently work since the LLDB_PATH_TO_* variables are just hints to where to look. It just seems unnecessary to have the custom variables when CMake has a mechanism for directing the build to look for packages in a certain location.

Tue, Feb 12, 2:09 PM · Restricted Project

Mon, Feb 11

compnerd accepted D57350: [llvm-cxxfilt] Split and demangle stdin input.

LG with the additional test suggestion

Mon, Feb 11, 10:49 AM · Restricted Project
compnerd added inline comments to D56754: Add Support for Creating and Deleting Unicode Files and Directories in Lit.
Mon, Feb 11, 10:08 AM · Restricted Project

Sun, Feb 10

compnerd added inline comments to D57533: lit: support long paths on Windows.
Sun, Feb 10, 11:32 AM · Restricted Project

Fri, Feb 8

compnerd added a comment to D57533: lit: support long paths on Windows.

@zturner I think that moving to the integrated lit shell is a great idea, as it really does lower the barrier to entry and makes testing stuff on Windows much easier.

Fri, Feb 8, 3:07 PM · Restricted Project
compnerd added a comment to D57406: build: remove use of llvm-config.

Which version of the patch did you use? L13 in the current version sets LLVM_MAIN_INCLUDE_DIR specifically for that case.

Fri, Feb 8, 2:14 PM · Restricted Project

Thu, Feb 7

compnerd added a comment to D57533: lit: support long paths on Windows.

@zturner, to your point, I'd like to add the fact that it took a bit of effort to even figure out that the problem was so nicely tucked away in the corner of lit because the failure scenario is pretty absurd (-ENOENT). IMO, this makes this even more insidious because it will cause a lot of people to get confused or possibly give up. But, perhaps I just am holding on to tightly to my idea that things should just work and the testing infrastructure should encourage people to add tests rather than demotivate them.

Thu, Feb 7, 5:53 PM · Restricted Project

Wed, Feb 6

compnerd added a comment to D57402: build: remove custom variables.

@sgraenitz yeah, I passed LLVM_DIR and Clang_DIR, but, this is for a standalone build, so I think that it is pretty reasonable to ask that the user tell us where LLVM and Clang are built. Although, if you install LLVM and Clang to your root (like on Linux), you do not need to specify that because it will search the system by default.

Wed, Feb 6, 11:55 AM · Restricted Project
compnerd requested changes to D57831: AMDGPU: set wchar_t and wint_t to be unsigned short on windows.
Wed, Feb 6, 11:38 AM
compnerd added a comment to D57533: lit: support long paths on Windows.

@ruiu - to your point of "it being better in the future" I think is false hope. The backwards API compatibility will prevent Microsoft from changing the behaviour of the APIs without an explicit opt-in. Otherwise, applications need to be rewritten, which has long been the case, you can use the NT style paths all the way back to Windows XP I believe, but applications aren't being rebuilt and redistributed.

Wed, Feb 6, 8:38 AM · Restricted Project

Tue, Feb 5

compnerd added a comment to D57533: lit: support long paths on Windows.

@ruiu it is only "removed" if you opt into it by modifying the registry on a per program basis. I don't think that is really a reasonable approach.

Tue, Feb 5, 5:35 PM · Restricted Project
compnerd added inline comments to D57533: lit: support long paths on Windows.
Tue, Feb 5, 9:13 AM · Restricted Project

Sun, Feb 3

compnerd accepted D48798: llvm-nm: Observe -no-llvm-bc for archive members.

@kastiglione - bleh, seems that this got lost. This seems like a good fix that we should get in.

Sun, Feb 3, 4:16 PM · Restricted Project
compnerd committed rG764727d92e52: tests: loosen restriction (authored by compnerd).
tests: loosen restriction
Sun, Feb 3, 4:10 PM
compnerd committed rL353012: tests: loosen restriction.
tests: loosen restriction
Sun, Feb 3, 4:10 PM

Sat, Feb 2

compnerd added a reviewer for D57533: lit: support long paths on Windows: zturner.
Sat, Feb 2, 10:29 AM · Restricted Project
compnerd updated the diff for D57533: lit: support long paths on Windows.

Switch to SHFileOperationW for the recursive removal. Refactor lit.util.mkdir_p to expose lit.utl.mkdir and update that to support long file paths. This makes lit more robust on Windows against creating long path temporary directories.

Sat, Feb 2, 10:28 AM · Restricted Project

Fri, Feb 1

compnerd added a comment to D57533: lit: support long paths on Windows.

Okay, seems like the way to handle this is to switch to SHFileOperationW using ctypes. I believe that the win32py support that is needed for this should be part of the default python installation on windows (at least it is part of the Visual Studio python distribution).

Fri, Feb 1, 4:46 PM · Restricted Project

Thu, Jan 31

compnerd added a comment to D57533: lit: support long paths on Windows.

Ugh, right ... I think that I had tested it against an empty directory! It was run early in the test. I'll flesh this out with @zturner's idea of extract it into a helper.

Thu, Jan 31, 6:01 PM · Restricted Project
compnerd added a comment to D57533: lit: support long paths on Windows.

@ruiu, no unfortunately, not all the paths can be shortened in the swift test suite since it is such a heavy user of the clang modules, modules cache paths and module naming structure in clang is a problem

Thu, Jan 31, 12:32 PM · Restricted Project
compnerd updated the diff for D57533: lit: support long paths on Windows.

comments, error handling, context

Thu, Jan 31, 12:20 PM · Restricted Project
compnerd added a comment to D57533: lit: support long paths on Windows.

That doesn't work with python 2.7 as that uses RemoveDirectoryA, which does not support it.

Thu, Jan 31, 12:12 PM · Restricted Project
compnerd added a reviewer for D57533: lit: support long paths on Windows: thakis.
Thu, Jan 31, 12:01 PM · Restricted Project
compnerd created D57533: lit: support long paths on Windows.
Thu, Jan 31, 11:59 AM · Restricted Project
compnerd updated the diff for D57406: build: remove use of llvm-config.

Fixes

Thu, Jan 31, 10:34 AM · Restricted Project

Wed, Jan 30

compnerd updated the diff for D57406: build: remove use of llvm-config.

Restore LLVM_MAIN_SRC_DIR cache variable

Wed, Jan 30, 2:24 PM · Restricted Project
compnerd added a comment to D57406: build: remove use of llvm-config.

This doesn't break the build, we check that the path exists, and find_program will not error out. You can still specify LLVM_LIT_EXE to specify the lit.py to use. Is that not sufficient for your needs?

Wed, Jan 30, 1:12 PM · Restricted Project

Tue, Jan 29

compnerd added a comment to D57404: build: remove use of llvm-config.

@mgorny, no, you should specify -DLLVM_DIR=/path/to/where/the/config/lives instead.

Tue, Jan 29, 12:36 PM · Restricted Project
compnerd created D57406: build: remove use of llvm-config.
Tue, Jan 29, 11:26 AM · Restricted Project
compnerd created D57404: build: remove use of llvm-config.
Tue, Jan 29, 11:13 AM · Restricted Project
compnerd created D57402: build: remove custom variables.
Tue, Jan 29, 10:53 AM · Restricted Project
compnerd requested changes to D57350: [llvm-cxxfilt] Split and demangle stdin input.

This actually breaks the compatibility with the existing tools. The quoted string is supposed to be interpreted as a *single* entry. I think that if you want to support something like this, it should be a separate flag for this behaviour.

Tue, Jan 29, 8:41 AM · Restricted Project

Fri, Jan 25

compnerd accepted D57194: [CMake] Use llvm-tblgen from NATIVE LLVM build when cross-compiling.
Fri, Jan 25, 10:47 AM
compnerd set the repository for D57194: [CMake] Use llvm-tblgen from NATIVE LLVM build when cross-compiling to rLLDB LLDB.
Fri, Jan 25, 10:47 AM
compnerd added a comment to D56382: Change llvm call once check for building Swift for PowerPC(ppc64le).

Sure, the new license is at https://llvm.org/LICENSE.txt (Apache)

Fri, Jan 25, 10:44 AM · Restricted Project

Thu, Jan 24

compnerd added a comment to D56382: Change llvm call once check for building Swift for PowerPC(ppc64le).

@sarveshtamba - just to make sure, you are aware that the license for LLVM has changed and that this work is acceptable to be published under the new license?

Thu, Jan 24, 10:50 AM · Restricted Project
compnerd accepted D56382: Change llvm call once check for building Swift for PowerPC(ppc64le).

Do you need me to commit this on your behalf (as last time)?

Thu, Jan 24, 9:27 AM · Restricted Project
compnerd accepted D57001: [libunwind] Don't define unw_fpreg_t to uint64_t for __ARM_DWARF_EH__.

double should be safe for ARM DWARF EH, though, technically, long double is more appropriate of a type definition (the FPU state that is saved should be the widest floating point type). That would be long double (aka FP80 on x86, FP128 on AArch64/PPC, FP64 elsewhere). This happens to work because ARM uses FP64 irrespective of DWARF or EHABI.

Thu, Jan 24, 9:24 AM

Jan 15 2019

compnerd added a comment to D56382: Change llvm call once check for building Swift for PowerPC(ppc64le).

Did we not address the PPC related checks earlier? IIRC, the problem was that gcc does not define __PPC__ but does define __ppc__. The problem with std::call_once was not related to endian, so why not extend the condition on L32 to include __PPC__?

Jan 15 2019, 2:46 PM · Restricted Project
compnerd accepted D56531: [CMake] Replace use of llvm-config with LLVM and Clang CMake packages.
Jan 15 2019, 2:42 PM · Restricted Project
compnerd accepted D56741: [CMake] Explicitly list User32 as dependency of lldb-mi.

I personally prefer the use of target_link_libraries rather than the custom stuff added in the add_lldb_tool.

Jan 15 2019, 2:39 PM

Jan 10 2019

compnerd requested changes to D56531: [CMake] Replace use of llvm-config with LLVM and Clang CMake packages.
Jan 10 2019, 8:48 AM · Restricted Project

Jan 6 2019

compnerd accepted D56184: [CallSite removal] Move the rest of IR implementation code away from `CallSite`..
Jan 6 2019, 10:48 PM

Jan 5 2019

compnerd committed rC350476: CodeGen: fix autolink emission on ELF.
CodeGen: fix autolink emission on ELF
Jan 5 2019, 11:32 AM
compnerd committed rL350476: CodeGen: fix autolink emission on ELF.
CodeGen: fix autolink emission on ELF
Jan 5 2019, 11:32 AM
compnerd committed rL350472: CodeGen: switch iteration to range based for loop (NFC).
CodeGen: switch iteration to range based for loop (NFC)
Jan 5 2019, 10:43 AM
compnerd committed rC350472: CodeGen: switch iteration to range based for loop (NFC).
CodeGen: switch iteration to range based for loop (NFC)
Jan 5 2019, 10:43 AM

Jan 1 2019

compnerd accepted D55641: [CallSite removal] Migrate all Alias Analysis APIs to use the newly minted `CallBase` class instead of the `CallSite` wrapper..
Jan 1 2019, 11:39 AM

Dec 31 2018

compnerd accepted D56182: [CallSite removal] Add `CallBase` support to the `InstVisitor` in such a way that it still supports `CallSite` but users can be ported to rely on `CallBase` instead..

Clever!

Dec 31 2018, 10:55 PM
compnerd accepted D56183: [CallSite removal] Port `IndirectCallSiteVisitor` to use `CallBase` and update client code..
Dec 31 2018, 10:44 PM
compnerd accepted D56143: [CallSite removal] Move the verifier to use `CallBase` instead of the `CallSite` wrapper..
Dec 31 2018, 10:40 PM
compnerd added a comment to D56180: Replace gen_dynamic_list.py with a portable shell script.

Shell is not available on Windows, python however is considered a portable shell within the project. There are a number of tools within the LLVM project that require python, I'm not sure that removing the dependency is the right thing to do here.

Dec 31 2018, 10:01 PM · Restricted Project

Dec 30 2018

compnerd accepted D56131: [AArch64] Implement the .arch_extension directive.
Dec 30 2018, 12:47 PM

Dec 28 2018

compnerd added a comment to D56130: Extend Module::getOrInsertGlobal to also take the default arguments accepted by the GlobalVariable constructor..

I'm not sure how I feel about the additional parameters. What do you think about packaging up the filters into a structure and passing a single "blob" as the filter?

Dec 28 2018, 8:14 AM

Dec 27 2018

compnerd accepted D55763: [Sparc] Add Sparc V8 support.
Dec 27 2018, 12:07 PM
compnerd accepted D55638: [CallSite removal] Add and flesh out APIs on the new `CallBase` base class that previously were only available on the `CallSite` wrapper..

The only minor nit is the preference for Known in some of the operand checks. IIRC clang doesn't get 100% of the annotations, so even if something is not marked as noread, it may be noread. Yes, its nit-picky, but, I think it helps when dealing with code that you are unfamiliar with (or happen to page out the context from clang).

Dec 27 2018, 8:30 AM

Dec 12 2018

compnerd closed D55503: Change llvm call once check for building Swift for PowerPC(ppc64le).

SVN r348970

Dec 12 2018, 12:39 PM
compnerd committed rL348970: Support: use internal `call_once` on PPC64le.
Support: use internal `call_once` on PPC64le
Dec 12 2018, 12:38 PM
compnerd added a comment to D55503: Change llvm call once check for building Swift for PowerPC(ppc64le).

I like the idea for the simplification, I'll do that as I commit it. Thanks for the hints @nemanjai!

Dec 12 2018, 12:31 PM
compnerd accepted D55503: Change llvm call once check for building Swift for PowerPC(ppc64le).

@nemanjai - I'm not following you with regards to the libc++ being used. This is simply used to replace the use of std::call_once with a local implementation, it doesn't introduce a dependency on compiler-rt at all and it doesn't change the C++ runtime that you are depending on.

Dec 12 2018, 10:07 AM
compnerd committed rL348939: Basic: make `int_least64_t` and `int_fast64_t` match on Darwin.
Basic: make `int_least64_t` and `int_fast64_t` match on Darwin
Dec 12 2018, 9:08 AM
compnerd closed D55586: Basic: make `int_least64_t` and `int_fast64_t` match on Darwin.

SVN r348939

Dec 12 2018, 9:08 AM
compnerd committed rC348939: Basic: make `int_least64_t` and `int_fast64_t` match on Darwin.
Basic: make `int_least64_t` and `int_fast64_t` match on Darwin
Dec 12 2018, 9:08 AM

Dec 11 2018

compnerd added a comment to D55503: Change llvm call once check for building Swift for PowerPC(ppc64le).

It is okay to fallback to the hand-rolled CAS based once initializer. It would be nice to have a clearer explanation for why the C++ runtime on the target cannot support std::call_once which is a C++11 standard function.

Dec 11 2018, 11:40 PM
compnerd added inline comments to D55229: [COFF] Statically link certain runtime library functions.
Dec 11 2018, 10:07 PM
compnerd accepted D55525: [Driver] Add support for -fembed-bitcode for assembly file.

Please do clang-format this. If this is already in the wild, then, I suppose that we don't have the option, but, this seems like something that should be written by the author of the assembly file. This is really the same as the emission of the emission of the directive for the GNU noexecstack, although, there is --noexecstack.

Dec 11 2018, 10:02 PM
compnerd created D55586: Basic: make `int_least64_t` and `int_fast64_t` match on Darwin.
Dec 11 2018, 3:23 PM
compnerd updated subscribers of D55229: [COFF] Statically link certain runtime library functions.
Dec 11 2018, 3:13 PM
compnerd added a comment to D55525: [Driver] Add support for -fembed-bitcode for assembly file.

This really feels odd. Why not expect that the developer will add the content themselves? I'm not sure I understand the motivation for this change. I think that this should be easy to write a test case for as well.

Dec 11 2018, 3:07 PM
compnerd accepted D55389: Implement IMAGE_REL_AMD64_SECREL for RuntimeDyldCOFFX86_64.
Dec 11 2018, 3:06 PM
compnerd accepted D55583: Reenable FindLibXml2 on Windows and confirm its at least 2.8 or newer.
Dec 11 2018, 3:06 PM

Dec 6 2018

compnerd committed rLLDB348556: Host: remove Yield on Windows.
Host: remove Yield on Windows
Dec 6 2018, 4:34 PM
compnerd committed rL348556: Host: remove Yield on Windows.
Host: remove Yield on Windows
Dec 6 2018, 4:34 PM

Dec 5 2018

compnerd committed rC348454: ARM, AArch64: support `__attribute__((__swiftcall__))`.
ARM, AArch64: support `__attribute__((__swiftcall__))`
Dec 5 2018, 7:31 PM
compnerd committed rL348454: ARM, AArch64: support `__attribute__((__swiftcall__))`.
ARM, AArch64: support `__attribute__((__swiftcall__))`
Dec 5 2018, 7:31 PM

Dec 4 2018

compnerd committed rL348337: AArch64: support funclets in fastcall and swift_call.
AArch64: support funclets in fastcall and swift_call
Dec 4 2018, 11:12 PM
compnerd committed rLLDB348332: gdb-remote: use elaborated type specifier for `Module`.
gdb-remote: use elaborated type specifier for `Module`
Dec 4 2018, 8:07 PM
compnerd committed rL348332: gdb-remote: use elaborated type specifier for `Module`.
gdb-remote: use elaborated type specifier for `Module`
Dec 4 2018, 8:07 PM
compnerd committed rL348310: AArch64: clean up some whitespace in Windows CC (NFC).
AArch64: clean up some whitespace in Windows CC (NFC)
Dec 4 2018, 2:22 PM

Nov 30 2018

compnerd committed rL348042: Support: use std::is_trivially_copyable on MSVC.
Support: use std::is_trivially_copyable on MSVC
Nov 30 2018, 2:17 PM

Oct 31 2018

compnerd added inline comments to D53945: [TextAPI] TBD Reader/Writer.
Oct 31 2018, 12:40 PM
compnerd accepted D37820: [BinaryFormat] Teach identify_magic about Tapi files..

Unfortunately, the TAPI releases are in the wild, so we need to support the old files. It would be nice to have some sort of marker on the file (similar to a shebang) to indicate that it is a TAPI file.

Oct 31 2018, 12:34 PM