compnerd (Saleem Abdulrasool)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Wed, Aug 16

compnerd committed rL311061: ARM: mark CPSR as clobbered for Windows VLAs.
ARM: mark CPSR as clobbered for Windows VLAs
Wed, Aug 16, 7:43 PM

Tue, Aug 15

compnerd added a comment to D36758: [LLD COFF / PDB] Incrementally update the BuildId when writing a PDB..

Nice! Im looking forward to this! It was one of the bits that I hadn't gotten around to implementing just yet, so thanks for taking it on.

Tue, Aug 15, 1:51 PM

Mon, Aug 14

compnerd added a comment to D36675: [ARM][Compiler-rt] Fix AEABI builtins to correctly pass arguments to non-AEABI functions on HF targets.

Um, when LLVM makes the invocation, it will assume that s0/s1 are not clobbered, even though it is a function call. Shouldn't we be explicitly saving and restoring s0/s1 in the ARM HF cases?

Mon, Aug 14, 9:34 AM

Sun, Aug 13

compnerd accepted D36364: [AArch64] Add support for a MinGW AArch64 target.

Yeah, I think that this is okay.

Sun, Aug 13, 11:14 AM

Sat, Aug 12

compnerd accepted D36366: [COFF, ARM64] Use '//' as comment character in assembly files in GNU environments.
Sat, Aug 12, 10:07 PM
compnerd accepted D31220: [builtins][ARM] Select correct code fragments when compiling for Thumb1/Thum2/ARM ISA.

Please adjust the comment and remove the CMake change prior to committing this.

Sat, Aug 12, 10:06 PM

Sat, Aug 5

compnerd added inline comments to D36364: [AArch64] Add support for a MinGW AArch64 target.
Sat, Aug 5, 9:37 PM
compnerd requested changes to D36366: [COFF, ARM64] Use '//' as comment character in assembly files in GNU environments.

Please create a special GNU specialization for this.

Sat, Aug 5, 9:34 PM
compnerd accepted D36342: [lld] Write the DataCRC to the output PDB.
Sat, Aug 5, 11:43 AM

Wed, Aug 2

compnerd accepted D35336: [compiler-rt][ARM] Fix filtering of ARM targets.
Wed, Aug 2, 4:36 PM

Tue, Aug 1

compnerd added inline comments to D36049: [Resubmitted] Remove uses of deprecated std::unary_function, binary_function, and pointer_to_unary_function..
Tue, Aug 1, 8:23 PM
compnerd added a comment to D36110: [COFF, ARM64] Add MS builtins __dmb, __dsb, __isb.

Might be a good idea to add tests for the IR itself that we lower it properly.

Tue, Aug 1, 8:12 PM

Sun, Jul 30

compnerd accepted D36066: [compiler-rt] Fix mingw-w64 cross compilation.
Sun, Jul 30, 3:12 PM
compnerd committed rL309525: test: add an additional cfi_return_column test.
test: add an additional cfi_return_column test
Sun, Jul 30, 2:33 PM
compnerd committed rL309524: test: make the test clearer (NFC).
test: make the test clearer (NFC)
Sun, Jul 30, 2:33 PM
compnerd added a comment to D35742: [Driver] Register effective triple before get arm float abi..

Right, I realize that it is only needed for the compiler-rt case, but I think it simplifies the flow and makes the behaviour similar across the two branches.

Sun, Jul 30, 11:41 AM

Sat, Jul 29

compnerd committed rL309493: MC: simplify internal function call parameter.
MC: simplify internal function call parameter
Sat, Jul 29, 1:03 PM
compnerd committed rL309492: MC: account for the return column in the CIE key.
MC: account for the return column in the CIE key
Sat, Jul 29, 1:03 PM

Fri, Jul 28

compnerd added inline comments to D35742: [Driver] Register effective triple before get arm float abi..
Fri, Jul 28, 10:44 PM

Thu, Jul 27

compnerd added a comment to D35961: [llvm] Update MachOObjectFile::exports interface .

Does anyone use the overload with the O for exports with nullptr instead of this? If not, we could just inline this throughout.

Thu, Jul 27, 9:50 PM
compnerd added inline comments to D35972: Add warning to clang-reorder-fields when reordering breaks member init list dependencies.
Thu, Jul 27, 9:38 PM · Restricted Project
compnerd committed rL309363: test: require x86 backend.
test: require x86 backend
Thu, Jul 27, 9:16 PM
compnerd committed rL309360: MC: add support for cfi_return_column.
MC: add support for cfi_return_column
Thu, Jul 27, 8:40 PM
compnerd committed rL309359: MC: clang-format enumeration (NFC).
MC: clang-format enumeration (NFC)
Thu, Jul 27, 8:40 PM
compnerd committed rL309327: Headers: fix _Unwind_{G,S}etGR for non-EHABI targets.
Headers: fix _Unwind_{G,S}etGR for non-EHABI targets
Thu, Jul 27, 2:57 PM

Wed, Jul 26

compnerd accepted D35538: [CodeGen][ARM] ARM runtime helper functions are not always soft-fp.
Wed, Jul 26, 8:03 PM
compnerd committed rL309226: Headers: improve ARM EHABI coverage of unwind.h.
Headers: improve ARM EHABI coverage of unwind.h
Wed, Jul 26, 4:00 PM
compnerd accepted D35848: Partial fix for PR33858.
Wed, Jul 26, 11:11 AM

Tue, Jul 25

compnerd accepted D35862: [clang] Add ARM64 support to armintr.h for MSVC compatibility.
Tue, Jul 25, 9:37 PM
compnerd added a comment to D35538: [CodeGen][ARM] ARM runtime helper functions are not always soft-fp.

I think that the approach is reasonable. However, the test needs tweaking. The function and the call both are ambiguous in the match. Can you match the call sequence? Or explicitly the local label and then the call.

Tue, Jul 25, 8:44 PM
compnerd accepted D35862: [clang] Add ARM64 support to armintr.h for MSVC compatibility.

Please split this out into arm64intr.h and include it from intrin.h under a #if defined(_M_ARM64) case before committing.

Tue, Jul 25, 8:37 PM

Sat, Jul 22

compnerd added a comment to D35766: [COFF] ARM64 support for COFFImportFile.

You should be able to generate an object file with the imgrel relocation.

Sat, Jul 22, 4:48 PM
compnerd added a comment to D35767: [COFF] Correctly set the thumb bit in DLL export addresses.

Does link actually set the ISA selection bit on the EAT entries? I don't remember that behaviour from it and I dont have it on hand to check.

Sat, Jul 22, 4:42 PM
compnerd added a comment to D35077: [RFC] Build LLVM-C.dll on MSVC that exports only the C API.

Forwarders on Windows are roughly the equivalent to a re-export library. They aren't exactly the same thing as you need to list all the interfaces instead of saying all interfaces from this library.

Sat, Jul 22, 12:44 PM

Fri, Jul 21

compnerd accepted D35265: [libunwind] Handle .ARM.exidx tables without sentinel last entry.

I wish that we could add a test for this. Unfortunately, libunwind as it stands doesn't do a very good job with tests :-(. Thanks for cleaning up the change and fixing this.

Fri, Jul 21, 5:42 PM

Jul 19 2017

compnerd committed rL308489: silence a couple of -Wqual-cast warning from GCC (NFC).
silence a couple of -Wqual-cast warning from GCC (NFC)
Jul 19 2017, 8:47 AM

Jul 18 2017

compnerd added inline comments to D35265: [libunwind] Handle .ARM.exidx tables without sentinel last entry.
Jul 18 2017, 9:50 PM
compnerd committed rL308409: test: remove duplicated test.
test: remove duplicated test
Jul 18 2017, 7:39 PM
compnerd requested changes to D35538: [CodeGen][ARM] ARM runtime helper functions are not always soft-fp.

Can you please add a test that shows that the AEABI functions are not given the wrong CC? Also, can you show that if someone also passes -meabi=gnu with a VFP target, that we still annotate the functions with the differing CC (since that should prefer the GNU functions over the AEABI functions).

Jul 18 2017, 7:08 PM
compnerd committed rL308407: COFF: improve link conformance for import names.
COFF: improve link conformance for import names
Jul 18 2017, 7:02 PM
compnerd committed rL308406: Object: preserve more information about DEF file.
Object: preserve more information about DEF file
Jul 18 2017, 7:02 PM
compnerd accepted D35034: compiler-rt: use fp_t instead of long double, for consistency.

Thanks, this looks like a good cleanup.

Jul 18 2017, 5:37 PM
compnerd committed rL308386: test: add COFF test for library extension handling.
test: add COFF test for library extension handling
Jul 18 2017, 3:25 PM
compnerd committed rL308384: Object: rename parameter from DLLName to ImportName.
Object: rename parameter from DLLName to ImportName
Jul 18 2017, 3:14 PM
compnerd committed rL308383: Object: handle extensions properly in def files.
Object: handle extensions properly in def files
Jul 18 2017, 3:14 PM

Jul 16 2017

compnerd accepted D34857: [COFF, ARM64] Add initial relocation types.

Please fix the relocation type before you commit this.

Jul 16 2017, 2:28 PM

Jul 13 2017

compnerd added a comment to D34588: Check for _MSC_VER before define _LIBCPP_MSVCRT.

Thinking more about this, on Windows, is there a strong reason to default to a different libc by default on Windows?

I'm mostly concerned with -fms-extensions + darwin, which doesn't apply to this scenario, maybe someone else knows a better answer here.

Jul 13 2017, 8:20 AM

Jul 10 2017

compnerd committed rL306829: Driver: honor -nostdinc and -isystem-after on CrossWindows.
Driver: honor -nostdinc and -isystem-after on CrossWindows
Jul 10 2017, 9:42 AM

Jul 4 2017

compnerd added a comment to D34950: [compiler-rt][builtins] XFAIL tests involving complex divide for ARM hard float targets.

The generation of the soft float calls to the GNU division routines is for compatibility. GCC will generate soft float calls unless the target is marked as hf. So, we should adjust the triple that we use (-target armv7-unknown-none-eabihf -meabi=gnu should do the trick I believe). GCC's handling of the ABI here is really rather annoying since -target armv7-unknown-none-eabi -meabi=gnu -mfloat-abi=hard will generate soft float calls to the routines, but -target armv7-unknown-none-eabihf -meabi=gnu -mfloat-abi=soft will generate hard float calls. However, we need to emulate the silly behaviour for compatibility.

Jul 4 2017, 11:32 AM
compnerd added a comment to D34543: Track globals promoted to coalesced const pool entries.

Please trim down the test. I dont think that any of the debug info metadata is needed to validate the CPE is coalesced nor are the attributes.

Jul 4 2017, 11:27 AM
compnerd added a comment to D34474: [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well.

I'm still not sure I understand why we need the different CC when X86_64 is able to handle both the SysV and the MS style VAArg lowering via the ABI::LowerVAArg switching between the two. I feel that we should follow a similar approach here.

Jul 4 2017, 11:17 AM

Jul 3 2017

compnerd accepted D34770: [Bash-autocompletion] Auto complete cc1 options if -cc1 is specified.
Jul 3 2017, 2:33 PM
compnerd edited reviewers for D34770: [Bash-autocompletion] Auto complete cc1 options if -cc1 is specified, added: compnerd; removed: abdulras.
Jul 3 2017, 2:31 PM

Jun 30 2017

compnerd closed D34839: [Driver] Honor -nostdinc and -isystem-after on CrossWindows.

SVN r306829

Jun 30 2017, 8:16 AM
compnerd committed rL306830: Driver: fix option declaration.
Driver: fix option declaration
Jun 30 2017, 8:16 AM

Jun 29 2017

compnerd added a comment to D33909: Allow EXIDX information display using llvm-readobj for executables.

Would it be possible to use YAML and yaml2obj to create the test input?

Jun 29 2017, 10:51 PM
compnerd accepted D34835: [llvm-readobj] Improve printouts for COFF ARM64 binaries.
Jun 29 2017, 10:49 PM
compnerd requested changes to D34857: [COFF, ARM64] Add initial relocation types.

Please add tests for the other relocation types.

Jun 29 2017, 10:48 PM
compnerd accepted D34858: [COFF, ARM64] Correct the data layout string for COFF ARM64 target.
Jun 29 2017, 10:46 PM
compnerd accepted D34859: [COFF, ARM64] Set the data type widths and the data layout string.

Can you please double check the type of long double as well?

Jun 29 2017, 10:44 PM
compnerd accepted D34850: [CodeGen] Propagate dllexport to thunks.
Jun 29 2017, 5:06 PM
compnerd accepted D34839: [Driver] Honor -nostdinc and -isystem-after on CrossWindows.

This seems like a good idea. Thanks!

Jun 29 2017, 3:49 PM

Jun 28 2017

compnerd added inline comments to D34667: [Demangler] [DO NOT SUBMIT] Initial patch for Microsoft demangler..
Jun 28 2017, 10:39 PM
compnerd committed rL306622: CodeGen: handle missed case of COMDAT handling.
CodeGen: handle missed case of COMDAT handling
Jun 28 2017, 5:55 PM

Jun 27 2017

compnerd accepted D34706: [COFF, ARM64] Add support for Windows ARM64 COFF format.
Jun 27 2017, 1:35 PM
compnerd accepted D34705: [COFF, ARM64] Add support for Windows ARM64 COFF format.

Please add a check for the incremental link compatible flag.

Jun 27 2017, 1:35 PM
compnerd requested changes to D34474: [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well.

I don't think that we should be adding a new calling convention for this. Win/AArch64 is just AAPCS64. Just like ARM, the difference for the va_list can be abstracted out entirely in the frontend, even if it is through a new LLVM intrinsic.

Jun 27 2017, 1:12 PM
compnerd committed rL306447: test: fix test for release builds.
test: fix test for release builds
Jun 27 2017, 11:58 AM
compnerd closed D34580: [CodeGen][ObjC] Load indirect ARC arguments in prolog.

SVN r306444

Jun 27 2017, 11:38 AM
compnerd committed rL306444: CodeGen: load indirect ObjC ARC arguments in prologue.
CodeGen: load indirect ObjC ARC arguments in prologue
Jun 27 2017, 11:38 AM
compnerd accepted D34637: [libunwind] Add _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS.

Discussed with @thakis on IRC; we can go ahead with this, but this will change in the future to be conditionalised on whether you are building a static or shared library. The intention here is to build without the exports and maintain hidden visibility. Although this is different from libc++, it is due to the fact that the current libunwind interfaces dont make as much sense on Windows (the itanium model and the windows exception model are thoroughly different), so removing the visibility attributes doesn't make much sense.

Jun 27 2017, 11:30 AM
compnerd accepted D34693: Loop directly over sanitizers to build in cmake.

Thanks for cleaning this up.

Jun 27 2017, 8:28 AM

Jun 26 2017

compnerd added inline comments to D34637: [libunwind] Add _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS.
Jun 26 2017, 9:58 PM
compnerd added a comment to D34588: Check for _MSC_VER before define _LIBCPP_MSVCRT.

Thinking more about this, on Windows, is there a strong reason to default to a different libc by default on Windows? @bruno would reusing -ffreestanding work for you here? Or is there something else that we can identify about the target environment that can indicate that the MS CRT is unavailable? I think that what is weird to me about this is that this is not about compatibility with Visual Studio but about the underlying libc. It feels like it would be similar in spirit to say that libc++ defaults to libSystem as the underlying libc on Linux.

Jun 26 2017, 8:42 PM
compnerd accepted D34644: Only test sanitizers that are built when COMPILER_RT_SANITIZERS_TO_BUILD is used.
Jun 26 2017, 5:37 PM
compnerd added inline comments to D34644: Only test sanitizers that are built when COMPILER_RT_SANITIZERS_TO_BUILD is used.
Jun 26 2017, 5:37 PM
compnerd requested changes to D34637: [libunwind] Add _LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS.
Jun 26 2017, 5:30 PM
compnerd closed D34523: AST: mangle BlockDecls under MS ABI.

SVN r306347

Jun 26 2017, 4:45 PM · Restricted Project
compnerd committed rL306347: AST: enhance mangling for blocks with MS ABI.
AST: enhance mangling for blocks with MS ABI
Jun 26 2017, 4:29 PM
compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

Handle unnamed parameters, improve mangling for NSDMis. The one case that we dont handle currently causes an assertion even in itanium mode.

Jun 26 2017, 3:08 PM · Restricted Project
compnerd added inline comments to D34523: AST: mangle BlockDecls under MS ABI.
Jun 26 2017, 3:02 PM · Restricted Project
compnerd added inline comments to D34523: AST: mangle BlockDecls under MS ABI.
Jun 26 2017, 2:30 PM · Restricted Project
compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

__ptr64 mangling, add tests for 32-bit.

Jun 26 2017, 10:11 AM · Restricted Project

Jun 25 2017

compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

Some more comments, add test case.

Jun 25 2017, 9:20 PM · Restricted Project
compnerd added a comment to D34523: AST: mangle BlockDecls under MS ABI.

I can add the nested/nested classes. What were other nested concepts you thinking of?

Jun 25 2017, 8:55 PM · Restricted Project
compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

Use mangleSourceName

Jun 25 2017, 4:14 PM · Restricted Project

Jun 24 2017

compnerd added inline comments to D34588: Check for _MSC_VER before define _LIBCPP_MSVCRT.
Jun 24 2017, 4:10 PM
compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

Address feedback. Also fix the case that was previously not working. This now covers all the various cases that have been discussed.

Jun 24 2017, 10:43 AM · Restricted Project

Jun 23 2017

compnerd added a comment to D34523: AST: mangle BlockDecls under MS ABI.

Ah, thanks for the explanation @efriedma.

Jun 23 2017, 4:43 PM · Restricted Project
compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

This is a step in the right direction. Although the NSDMI cases and default parameter value cases are not yet handled, they break due to tracking of the global mangling number tracking, not due to the scheme.

Jun 23 2017, 4:13 PM · Restricted Project
compnerd added a comment to D34523: AST: mangle BlockDecls under MS ABI.

@efriedma I think that Im still not understanding the case that you are trying to point out. How do we end up in a state where the block invocation function is referenced external to the TU? The block would be referenced to by name of the block, no? AFAICT, this is for local storage in a block, which is scoped to the block invocation function, which is TU local, and will be referenced by the block_literal (which contains the block invocation function and is dispatched via the BlocksRuntime).

Jun 23 2017, 2:48 PM · Restricted Project
compnerd added a comment to D34523: AST: mangle BlockDecls under MS ABI.

@efriedma which bit of the Itanium mangling should I be looking at? A BlockDecl does not have visibility associated with them, so Im not sure what I should be checking to see if the block is visible or not. What is the best way forward for finishing this up?

Jun 23 2017, 2:02 PM · Restricted Project
compnerd updated the diff for D34523: AST: mangle BlockDecls under MS ABI.

Add additional test cases, improve coverage and mangling.

Jun 23 2017, 1:51 PM · Restricted Project
compnerd committed rL306123: test: fix negative test case.
test: fix negative test case
Jun 23 2017, 9:53 AM
compnerd committed rL306115: Revert "Revert r305164/5/7.".
Revert "Revert r305164/5/7."
Jun 23 2017, 8:35 AM

Jun 22 2017

compnerd added a comment to D34523: AST: mangle BlockDecls under MS ABI.

@efriedma hmm...using getBlockManglingNumber causes the name to be duplicated. Ill look into that. However, wouldn't all the block invocation functions be defined and COMDAT'ed?

Jun 22 2017, 1:56 PM · Restricted Project
compnerd added a reviewer for D34523: AST: mangle BlockDecls under MS ABI: eli.friedman.
Jun 22 2017, 11:47 AM · Restricted Project
compnerd created D34523: AST: mangle BlockDecls under MS ABI.
Jun 22 2017, 11:45 AM · Restricted Project

Jun 20 2017

compnerd committed rL305846: Support: chunk writing on Linux.
Support: chunk writing on Linux
Jun 20 2017, 1:52 PM
compnerd added inline comments to D34377: Support MS builtins using 'long' on LP64.
Jun 20 2017, 9:44 AM