[PATCH] D50144: Add Windows support for the GNUstep Objective-C ABI V2.

2018-08-08 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: lib/CodeGen/CGObjCGNU.cpp:3542 + allSelectors.push_back(entry.first); +std::sort(allSelectors.begin(), allSelectors.end()); Please use llvm::sort instead of std::sort. See https://llvm.org/docs/CodingStandards

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-08 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: NoQ, george.karpenkov, whisperity. Herald added subscribers: mikhail.ramalho, a.sidorin, rnkovacs, szepet, xazax.hun, mgorny. Repository: rC Clang https://reviews.llvm.org/D50488 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td

[PATCH] D50559: [gnu-objc] Make selector order deterministic.

2018-08-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Does the error show up if you build llvm with -DLLVM_REVERSE_ITERATION:ON? LLVM_REVERSE_ITERATION:BOOL If enabled, all supported unordered llvm containers would be iterated in reverse order. This is useful for uncovering non-determinism caused by iteration of unorder

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Thanks for all your review comments. I will try to address them soon. Meanwhile, I have started an email thread on the general problem of writing checkers/sanitizers to detect non-deterministic behaviors. See http://lists.llvm.org/pipermail/llvm-dev/2018-August/125191.ht

[PATCH] D50559: [gnu-objc] Make selector order deterministic.

2018-08-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In https://reviews.llvm.org/D50559#1195787, @bmwiedemann wrote: > got a build failure with this patch added onto 6.0.1 You may have to add: #include "llvm/ADT/STLExtras.h" Repository: rC Clang https://reviews.llvm.org/D50559 _

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-16 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 161152. mgrang added a comment. Changed patch to use AST Matchers. https://reviews.llvm.org/D50488 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-16 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. This was my first time using AST matchers so it took me a while to figure out how exactly to get this right. clang-query helped a lot. Backspace seems to be a problem with clang-query though. https://reviews.llvm.org/D50488 ___

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-16 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 161165. mgrang edited the summary of this revision. mgrang added a comment. Added checks for more algorithms: stable_sort, is_sorted, partial_sort, partition, stable_partition, nth_element. https://reviews.llvm.org/D50488 Files: include/clang/StaticAnalyz

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-17 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In https://reviews.llvm.org/D50488#1203876, @Szelethus wrote: > I think testcases for non-class iterator objects would be valuable. Thanks @Szelethus. Yes, as you correctly pointed out this would not match non-class iterator objects. This is my first time with ASTMatch

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-17 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp:72-76 + auto IteratesPointerKeysM = hasType(cxxRecordDecl(has( +fieldDecl(hasType(hasCanonicalType( + pointsTo(hasCano

[PATCH] D47196: [Time-report ](2): Recursive timers in Clang

2018-05-22 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: include/clang/Frontend/Utils.h:369 + llvm::CreateInfoOutputFile(); + std::sort(FrontendTimes.begin(), FrontendTimes.end(), SortName); + using FTPIterator = typename std::vector::iterator; Please use llv

[PATCH] D46822: [RISCV] Add driver for riscv32-unknown-elf baremetal target

2018-05-23 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang accepted this revision. mgrang added a comment. This revision is now accepted and ready to land. LGTM. Comment at: lib/Driver/ToolChains/Gnu.cpp:1885 + "riscv64-unknown-linux-gnu", +

[PATCH] D47474: Implement cpu_dispatch/cpu_specific Multiversioning

2018-05-29 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: lib/Sema/SemaDecl.cpp:9440 + // Sort order doesn't matter, it just needs to be consistent. + std::sort(NewParsed.Features.begin(), NewParsed.Features.end()); Please use llvm::sort instead of std::sort. See https://ll

[PATCH] D36111: [COFF, ARM64] Add MS builtins __dmb, __dsb, __isb

2017-10-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In https://reviews.llvm.org/D36111#894604, @mstorsjo wrote: > @mgrang, did you ever get to completing this? I've got a need for this now > (only `__dmb` so far), and if you don't have time, I can try to finish it. Sorry, I never got to complete this as I moved to other

[PATCH] D38821: [COFF, ARM64] Add MS builtins __dmb, __dsb, __isb

2017-10-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. LGTM. https://reviews.llvm.org/D38821 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51204: [COFF, ARM64] Add MS intrinsics: __getReg, _ReadStatusReg, _WriteStatusReg

2018-08-23 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, compnerd, mstorsjo, haripul, TomTan. Herald added a reviewer: javed.absar. Herald added subscribers: chrib, kristof.beyls. Added declarations for the intrinsics in arm64intr.h. These are defined in MSVC libs and are needed for certain spe

[PATCH] D51204: [COFF, ARM64] Add MS intrinsics: __getReg, _ReadStatusReg, _WriteStatusReg

2018-08-24 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 162431. mgrang edited the summary of this revision. https://reviews.llvm.org/D51204 Files: lib/Headers/intrin.h test/Headers/arm64-ms-intrin.cpp Index: test/Headers/arm64-ms-intrin.cpp === -

[PATCH] D51204: [COFF, ARM64] Add MS intrinsics: __getReg, _ReadStatusReg, _WriteStatusReg

2018-08-24 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Thanks @mstorsjo. I have addressed your comments. https://reviews.llvm.org/D51204 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-09-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 163876. mgrang added a comment. Addressed comments. https://reviews.llvm.org/D50488 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp test/Analysi

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements

2018-09-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In https://reviews.llvm.org/D50488#1222837, @whisperity wrote: > > I'm not sure if we discussed, has this checker been tried on some in-the-wild > examples? To see if there are some real findings or crashes? > There is a good selection of projects here in this tool:

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements

2018-09-04 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In https://reviews.llvm.org/D50488#1207398, @Szelethus wrote: > In https://reviews.llvm.org/D50488#1204655, @mgrang wrote: > > > This is my first time with ASTMatchers and I am not sure how to get the > > value_type from hasType (I don't see a matcher for value_types in

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements

2018-09-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In https://reviews.llvm.org/D50488#1224480, @martong wrote: > From this little information I have hear are my thoughts: > > > match callExpr(allOf (callee(functionDecl(hasName("std::sort"))), > > hasArgument(0, > > hasDescendant(declRefExpr(to(fieldDecl(hasNam

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like elements

2018-09-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 164086. mgrang added a comment. Enabled checker only for C++. https://reviews.llvm.org/D50488 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp te

[PATCH] D48862: [OpenEmbedded] Fix lib paths for OpenEmbedded targets

2018-07-24 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 157106. mgrang added a comment. Thanks @rsmith. I have addressed your comments. https://reviews.llvm.org/D48862 Files: lib/Driver/ToolChains/Gnu.cpp lib/Driver/ToolChains/Linux.cpp test/Driver/Inputs/openembedded_aarch64_linux_tree/usr/include/c++/6.3

[PATCH] D48862: [OpenEmbedded] Fix lib paths for OpenEmbedded targets

2018-07-25 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 157391. mgrang added a comment. Rebased patch and fixed unit test on Windows. https://reviews.llvm.org/D48862 Files: lib/Driver/ToolChains/Gnu.cpp lib/Driver/ToolChains/Linux.cpp test/Driver/Inputs/openembedded_aarch64_linux_tree/usr/include/c++/6.3.0

[PATCH] D48862: [OpenEmbedded] Fix lib paths for OpenEmbedded targets

2018-07-26 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. @rsmith Could you please take a look at the updated patch? I would like to commit this. Thanks. https://reviews.llvm.org/D48862 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/li

[PATCH] D48862: [OpenEmbedded] Fix lib paths for OpenEmbedded targets

2018-07-30 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. I would commit this today unless there any comments. Thanks. https://reviews.llvm.org/D48862 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48862: [OpenEmbedded] Fix lib paths for OpenEmbedded targets

2018-07-30 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL338294: [OpenEmbedded] Fix lib paths for OpenEmbedded targets (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D48862?vs=15

[PATCH] D50029: [COFF, ARM64] Enable SEH for ARM64 Windows

2018-07-30 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, mstorsjo, ssijaric, haripul, TomTan. Herald added subscribers: chrib, kristof.beyls. Repository: rC Clang https://reviews.llvm.org/D50029 Files: include/clang/Basic/TargetInfo.h test/CodeGen/exceptions-seh-finally.c test/CodeGen/

[PATCH] D50029: [COFF, ARM64] Enable SEH for ARM64 Windows

2018-07-30 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: test/CodeGen/exceptions-seh.c:10 +// RUN: %clang_cc1 %s -triple aarch64-windows -fms-extensions -emit-llvm -o - \ +// RUN: | FileCheck %s --check-prefix=X64-GNU Is it OK to re-use the X64-GNU check prefix here o

[PATCH] D50029: [COFF, ARM64] Enable SEH for ARM64 Windows

2018-07-30 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 158147. mgrang added a comment. Addressed comments. https://reviews.llvm.org/D50029 Files: include/clang/Basic/TargetInfo.h test/CodeGen/exceptions-seh-finally.c test/CodeGen/exceptions-seh.c Index: test/CodeGen/exceptions-seh.c =

[PATCH] D50029: [COFF, ARM64] Enable SEH for ARM64 Windows

2018-07-31 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL338405: [COFF, ARM64] Enable SEH for ARM64 Windows (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D50029?vs=158147&id=158

[PATCH] D50123: [OpenEmbedded] Explicitly specify -stdlib and -rtlib in tests

2018-07-31 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang accepted this revision. mgrang added a comment. This revision is now accepted and ready to land. LGTM. Repository: rC Clang https://reviews.llvm.org/D50123 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-b

[PATCH] D50152: [CodeGen] Merge equivalent block copy/helper functions

2018-08-01 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: lib/CodeGen/CGBlocks.cpp:1593 + // Sort the captures by offset. + std::sort(ManagedCaptures.begin(), ManagedCaptures.end()); } Please use llvm::sort instead of std::sort. See https://llvm.org/docs/CodingStandards.html

[PATCH] D50218: [OpenMP] Encode offload target triples into comdat key for offload initialization code

2018-08-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Please add some unit tests. Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:3830 + RegFnNameParts.push_back(Device.getTriple()); +std::sort(RegFnNameParts.begin() + 2, RegFnNameParts.end()); +std::string Descriptor = getName(RegFnNameParts); ---

[PATCH] D43105: [RISCV] Enable __int128_t and uint128_t through clang flag

2018-02-08 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: asb, kito-cheng, apazos. Herald added subscribers: cfe-commits, niosHD, sabuasal, jordy.potman.lists, simoncook, johnrusso, rbar, aheejin, jgravelle-google, sbc100, sdardis, dschuff, jfb. If the flag -fuse-int128 is passed, it will enable sup

[PATCH] D43105: [RISCV] Enable __int128_t and uint128_t through clang flag

2018-02-08 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Related compiler-rt patch: https://reviews.llvm.org/D43106 Repository: rC Clang https://reviews.llvm.org/D43105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D43105: [RISCV] Enable __int128_t and uint128_t through clang flag

2018-02-16 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 134745. mgrang edited the summary of this revision. Repository: rC Clang https://reviews.llvm.org/D43105 Files: include/clang/Basic/TargetInfo.h include/clang/Basic/TargetOptions.h include/clang/Driver/Options.td lib/Basic/Targets/Mips.h lib/Drive

[PATCH] D43105: [RISCV] Enable __int128_t and uint128_t through clang flag

2018-02-20 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 135112. mgrang added a comment. Updated patch to add -fno version of the flag -fforce-enable-int128. Repository: rC Clang https://reviews.llvm.org/D43105 Files: include/clang/Basic/TargetInfo.h include/clang/Basic/TargetOptions.h include/clang/Drive

[PATCH] D43105: [RISCV] Enable __int128_t and __uint128_t through clang flag

2018-02-22 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 135493. mgrang retitled this revision from "[RISCV] Enable __int128_t and uint128_t through clang flag" to "[RISCV] Enable __int128_t and __uint128_t through clang flag". mgrang edited the summary of this revision. Repository: rC Clang https://reviews.llvm

[PATCH] D43105: [RISCV] Enable __int128_t and __uint128_t through clang flag

2018-02-22 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Added tests for ABI lowering and preprocessor defines as per comments. Repository: rC Clang https://reviews.llvm.org/D43105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/list

[PATCH] D43105: [RISCV] Enable __int128_t and __uint128_t through clang flag

2018-02-22 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 135540. mgrang added a comment. Thanks @asb. I have addressed your comments. Repository: rC Clang https://reviews.llvm.org/D43105 Files: include/clang/Basic/TargetInfo.h include/clang/Basic/TargetOptions.h include/clang/Driver/Options.td lib/Basic

[PATCH] D43105: [RISCV] Enable __int128_t and __uint128_t through clang flag

2018-02-22 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 135553. Repository: rC Clang https://reviews.llvm.org/D43105 Files: include/clang/Basic/TargetInfo.h include/clang/Basic/TargetOptions.h include/clang/Driver/Options.td lib/Basic/Targets/Mips.h lib/Driver/ToolChains/Clang.cpp lib/Frontend/Compil

[PATCH] D43105: [RISCV] Enable __int128_t and __uint128_t through clang flag

2018-02-24 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL326045: [RISCV] Enable __int128_t and __uint128_t through clang flag (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D4310

[PATCH] D43105: [RISCV] Enable __int128_t and __uint128_t through clang flag

2018-02-24 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. After addressing comments, I have now committed this patch. Thanks for all the reviews! Repository: rC Clang https://reviews.llvm.org/D43105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cg

[PATCH] D33926: [clang] Remove double semicolons. NFC.

2017-06-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added a project: clang-c. https://reviews.llvm.org/D33926 Files: lib/AST/Type.cpp lib/Sema/SemaType.cpp Index: lib/Sema/SemaType.cpp === --- lib/Sema/SemaType.cpp +++ lib/Sema/SemaType.cpp @

[PATCH] D33926: [clang] Remove double semicolons. NFC.

2017-06-06 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL304823: [clang] Remove double semicolons. NFC. (authored by mgrang). Changed prior to commit: https://reviews.llvm.org/D33926?vs=101506&id=101604#toc Repository: rL LLVM https://reviews.llvm.org/D33

[PATCH] D44229: Don't use -pie in relocatable link.

2018-03-07 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:311 + if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) || + Args.hasArg(options::OPT_r)) return false; We also need to check for -Wl,-r and -Xlinker -

[PATCH] D44362: [clang] Change std::sort to llvm::sort in response to r327219

2018-03-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rsmith, rnk, chandlerc. mgrang added a project: clang. Herald added a subscriber: klimek. r327219 added wrappers to std::sort which randomly shuffle the container before sorting. This will help in uncovering non-determinism caused due to undef

[PATCH] D44362: [clang] Change std::sort to llvm::sort in response to r327219

2018-03-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 137966. mgrang added a comment. Fixed indentation. Repository: rC Clang https://reviews.llvm.org/D44362 Files: include/clang/Basic/Attr.td include/clang/Serialization/ContinuousRangeMap.h lib/AST/ASTContext.cpp lib/AST/ItaniumMangle.cpp lib/AST/

[PATCH] D44362: [clang] Change std::sort to llvm::sort in response to r327219

2018-03-19 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Ping for reviews please. Repository: rC Clang https://reviews.llvm.org/D44362 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48132: [COFF] Add ARM64 intrinsics: __yield, __wfe, __wfi, __sev, __sevl

2018-06-13 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: mstorsjo, compnerd. Herald added a reviewer: javed.absar. Herald added subscribers: chrib, kristof.beyls. These intrinsics result in hint instructions. They are provided here for MSVC ARM64 compatibility. Repository: rC Clang https://revi

[PATCH] D48132: [COFF] Add ARM64 intrinsics: __yield, __wfe, __wfi, __sev, __sevl

2018-06-13 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL334639: [COFF] Add ARM64 intrinsics: __yield, __wfe, __wfi, __sev, __sevl (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/

[PATCH] D53115: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics

2018-10-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, compnerd, mstorsjo, efriedma, TomTan, haripul. Herald added a reviewer: javed.absar. Herald added subscribers: chrib, kristof.beyls. Repository: rC Clang https://reviews.llvm.org/D53115 Files: include/clang/Basic/BuiltinsAArch64.def

[PATCH] D53115: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics

2018-10-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. _ReadStatusReg and _WriteStatusReg intrinsics take ARM64_REGNO as input. These are defined in https://www.codemachine.com/downloads/win10/winnt.h. LLVM already has intrinsics to read/write status regs: __builtin_arm_rsr/__builtin_arm_wsr. But these take the string concate

[PATCH] D53115: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics

2018-10-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: test/CodeGen/arm64-microsoft-status-reg.cpp:1 +// RUN: %clang_cc1 -triple arm64-windows -fms-compatibility -emit-llvm -S \ +// RUN: -o - %s | FileCheck %s -check-prefix CHECK-ASM I had to create a new test file here as th

[PATCH] D53115: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics

2018-10-10 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 169127. https://reviews.llvm.org/D53115 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h lib/Sema/SemaChecking.cpp test/CodeGen/arm64-microsoft-status-reg.cpp test/Sema/builtins-microsoft-arm64.c Index:

[PATCH] D53115: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics

2018-10-18 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 170133. https://reviews.llvm.org/D53115 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h lib/Sema/SemaChecking.cpp test/CodeGen/arm64-microsoft-status-reg.cpp test/Sema/builtins-microsoft-arm64.c Index:

[PATCH] D53115: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics

2018-10-18 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC344765: [COFF, ARM64] Add _ReadStatusReg and_WriteStatusReg intrinsics (authored by mgrang, committed by ). Repository: rC Clang https://reviews.llvm.org/D53115 Files: include/clang/Basic/BuiltinsAA

[PATCH] D53541: [COFF, ARM64] Add aarch64_seh_recoverfp intrinsic

2018-10-22 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, compnerd, mstorsjo, TomTan, efriedma. Herald added subscribers: chrib, kristof.beyls, javed.absar. This patch mimics X86 behavior and add aarch64_seh_recoverfp similar to x86_seh_recoverfp. This patch is needed by https://reviews.llvm.org

[PATCH] D56463: [SEH] Pass the frame pointer from SEH finally to finally functions

2019-01-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: lib/CodeGen/CGException.cpp:1635 +else { + llvm::Value *LocalAddrFn = CGM.getIntrinsic(llvm::Intrinsic::localaddress); + FP = CGF.Builder.CreateCall(LocalAddrFn); 80 char limit. Repository: rC Clang CH

[PATCH] D53541: [COFF, ARM64] Do not emit x86_seh_recoverfp intrinsic

2019-01-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 181333. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D53541/new/ https://reviews.llvm.org/D53541 Files: lib/CodeGen/CGException.cpp test/CodeGen/exceptions-seh.c Index: test/CodeGen/exceptions-seh.c ==

[PATCH] D56620: [COFF, ARM64] Include stdlib.h in arm64intr.h

2019-01-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, ssijaric, TomTan, haripul. Herald added subscribers: kristof.beyls, javed.absar. We mimic x86 behavior which includes stdlib.h in x86intr.h. Repository: rC Clang https://reviews.llvm.org/D56620 Files: lib/Headers/arm64int

[PATCH] D56620: [COFF, ARM64] Include stdlib.h in arm64intr.h

2019-01-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In D56620#1354979 , @efriedma wrote: > Have you verified this matches MSVC? (IIRC the only reason we include > stdlib.h on x86 is so we can define _mm_malloc.) I don't see MSVC intrin.h including stdlib.h. So I guess I will just

[PATCH] D56620: [COFF, ARM64] Declare intrinsics: __nop, _byteswap_[short/long/uint64]

2019-01-11 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 181390. mgrang retitled this revision from "[COFF, ARM64] Include stdlib.h in arm64intr.h" to "[COFF, ARM64] Declare intrinsics: __nop, _byteswap_[short/long/uint64]". mgrang edited the summary of this revision. CHANGES SINCE LAST ACTION https://reviews.llv

[PATCH] D56620: [COFF, ARM64] Declare intrinsics: __nop, _byteswap_[ushort/ulong/uint64]

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. I have implemented __nop intrinsics in https://reviews.llvm.org/D56620 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56620/new/ https://reviews.llvm.org/D56620 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D56671: [COFF, ARM64] Add __nop intrinsic

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, TomTan, haripul, ssijaric. Herald added subscribers: kristof.beyls, javed.absar. Repository: rC Clang https://reviews.llvm.org/D56671 Files: lib/Headers/intrin.h test/Headers/ms-arm64-intrin.cpp Index: test/Headers/ms-a

[PATCH] D56685: [COFF, ARM64] Declare __byteswap intrinsics

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, ssijaric, TomTan, haripul. Herald added subscribers: kristof.beyls, javed.absar. Repository: rC Clang https://reviews.llvm.org/D56685 Files: lib/Headers/arm64intr.h test/Headers/ms-arm64-intrin.cpp Index: test/Headers/m

[PATCH] D56620: [COFF, ARM64] Declare intrinsics: __nop, _byteswap_[ushort/ulong/uint64]

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang abandoned this revision. mgrang added a comment. _bytswap intrinsics are added in D56685 . Abandoning this patch. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56620/new/ https://reviews.llvm.org/D56620

[PATCH] D56671: [COFF, ARM64] Add __nop intrinsic

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL351135: [COFF, ARM64] Add __nop intrinsic (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D56671?vs=181578&id=181659#toc

[PATCH] D56685: [COFF, ARM64] Add __byteswap intrinsics

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 181671. mgrang retitled this revision from "[COFF, ARM64] Declare __byteswap intrinsics" to "[COFF, ARM64] Add __byteswap intrinsics". CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56685/new/ https://reviews.llvm.org/D56685 Files: lib/Headers/intri

[PATCH] D56685: [COFF, ARM64] Add __byteswap intrinsics

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang marked an inline comment as done. mgrang added a comment. Verified that this compiles when both intrin.h and stdlib.h from the Microsoft SDK are included, in either order. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56685/new/ https://reviews.llvm.org/D56685 ___

[PATCH] D56685: [COFF, ARM64] Add __byteswap intrinsics

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 181679. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56685/new/ https://reviews.llvm.org/D56685 Files: lib/Headers/intrin.h test/Headers/ms-arm64-intrin.cpp Index: test/Headers/ms-arm64-intrin.cpp ===

[PATCH] D56685: [COFF, ARM64] Add __byteswap intrinsics

2019-01-14 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC351147: [COFF, ARM64] Add __byteswap intrinsics (authored by mgrang, committed by ). Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D56685/new/ https://reviews.llvm.org/D566

[PATCH] D53541: [COFF, ARM64] Do not emit x86_seh_recoverfp intrinsic

2019-01-15 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In D53541#1356904 , @rnk wrote: > In D53541#1353251 , @mgrang wrote: > > > > What about the three stack pointer case of stack realignment plus a > > > dynamic alloca? Typically this is the c

[PATCH] D53541: [COFF, ARM64] Do not emit x86_seh_recoverfp intrinsic

2019-01-15 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. In D53541#1358210 , @rnk wrote: > I can't compile the example you gave yet because I haven't applied your > patches locally, but this is the "three stack pointer" case that I have in > mind: > > struct Foo { > void (*ptr)();

[PATCH] D56748: [EH] Rename llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp

2019-01-15 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma. This is the clang counterpart to D56747 . Repository: rC Clang https://reviews.llvm.org/D56748 Files: lib/CodeGen/CGException.cpp test/CodeGen/exceptions-seh.c test/CodeGenCXX/exceptio

[PATCH] D53541: [COFF, ARM64] Do not emit x86_seh_recoverfp intrinsic

2019-01-15 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. I have renamed llvm.x86.seh.recoverfp intrinsic to llvm.eh.recoverfp in D56747 and D56748 . CHANGES SINCE LAST ACTION https://reviews.llvm.org/D53541/new/ https://reviews.llvm.org/D53541 ___

[PATCH] D53541: [COFF, ARM64] Do not emit x86_seh_recoverfp intrinsic

2019-01-16 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang abandoned this revision. mgrang added a comment. I have added a default lowering for llvm.eh.recoverfp in D53540 . So this patch is no longer needed. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D53541/new/ https://reviews.llvm.org/D53541

[PATCH] D53541: [COFF, ARM64] Support SEH for ARM64 Windows

2018-10-31 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 171994. mgrang retitled this revision from "[COFF, ARM64] Add aarch64_seh_recoverfp intrinsic" to "[COFF, ARM64] Support SEH for ARM64 Windows". mgrang edited the summary of this revision. mgrang added a comment. Updated the patch with the following changes:

[PATCH] D53684: [COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry

2018-10-31 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL345792: [COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.

[PATCH] D53960: [COFF, ARM64] Implement llvm.addressofreturnaddress intrinsic

2018-10-31 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, mstorsjo, efriedma, TomTan. Herald added subscribers: chrib, kristof.beyls, javed.absar. Repository: rC Clang https://reviews.llvm.org/D53960 Files: include/clang/Basic/BuiltinsAArch64.def lib/CodeGen/CGBuiltin.cpp test/CodeGen/m

[PATCH] D53998: [COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang accepted this revision. mgrang added a comment. This revision is now accepted and ready to land. Since this is the same as https://reviews.llvm.org/D53684, we can go ahead and close this. Repository: rC Clang https://reviews.llvm.org/D53998 _

[PATCH] D53998: [COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL346024: [COFF, ARM64] Change setjmp for AArch64 Windows to use Intrinsic.sponentry (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.

[PATCH] D54046: [COFF, ARM64] Implement InterlockedExchange*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, mstorsjo, efriedma, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. Windows SDK needs these intrinsics to be proper builtins. This is second in a series of patches to move intrinsic defintions out of i

[PATCH] D54046: [COFF, ARM64] Implement InterlockedExchange*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL346044: [COFF, ARM64] Implement InterlockedExchange*_* builtins (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D54046?vs=

[PATCH] D54062: [COFF, ARM64] Implement InterlockedCompareExchange*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, mstorsjo, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. This is third in a series of patches to move intrinsic definitions out of intrin.h. Repository: rC Clang https://reviews.llvm.org

[PATCH] D54063: [COFF, ARM64] Implement InterlockedOr*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, mstorsjo, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. This is fourth in a series of patches to move intrinsic defintions out of intrin.h. Repository: rC Clang https://reviews.llvm.org

[PATCH] D54065: [COFF, ARM64] Implement InterlockedXor*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, mstorsjo, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. This is fifth in a series of patches to move intrinsic defintions out of intrin.h. Repository: rC Clang https://reviews.llvm.org/

[PATCH] D54066: [COFF, ARM64] Implement InterlockedAnd*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, mstorsjo, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. This is sixth in a series of patches to move intrinsic definitions out of intrin.h. Repository: rC Clang https://reviews.llvm.org

[PATCH] D54067: [COFF, ARM64] Implement InterlockedIncrement*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, mstorsjo, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. This is seventh in a series of patches to move intrinsic definitions out of intrin.h. Repository: rC Clang https://reviews.llvm.o

[PATCH] D54068: [COFF, ARM64] Implement InterlockedDecrement*_* builtins

2018-11-02 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, efriedma, mstorsjo, TomTan. Herald added subscribers: kristina, jfb, chrib, kristof.beyls, javed.absar. This is eight in a series of patches to move intrinsic definitions out of intrin.h. Repository: rC Clang https://reviews.llvm.org

[PATCH] D54062: [COFF, ARM64] Implement InterlockedCompareExchange*_* builtins

2018-11-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added inline comments. Comment at: include/clang/Basic/BuiltinsARM.def:270 +TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_nf, "LLiLLiD*LLiLLi", "nh", "intrin.h", ALL_MS_LANGUAGES, "") +TARGET_HEADER_BUILTIN(_InterlockedCompareExchange64_rel, "LLiLLiD*LLiLLi", "nh"

[PATCH] D54062: [COFF, ARM64] Implement InterlockedCompareExchange*_* builtins

2018-11-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang updated this revision to Diff 172675. https://reviews.llvm.org/D54062 Files: include/clang/Basic/BuiltinsAArch64.def include/clang/Basic/BuiltinsARM.def lib/CodeGen/CGBuiltin.cpp lib/Headers/intrin.h test/CodeGen/ms-intrinsics.c Index: test/CodeGen/ms-intrinsics.c ==

[PATCH] D54062: [COFF, ARM64] Implement InterlockedCompareExchange*_* builtins

2018-11-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC346189: [COFF, ARM64] Implement InterlockedCompareExchange*_* builtins (authored by mgrang, committed by ). Repository: rC Clang https://reviews.llvm.org/D54062 Files: include/clang/Basic/BuiltinsAA

[PATCH] D54065: [COFF, ARM64] Implement InterlockedXor*_* builtins

2018-11-05 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC346191: [COFF, ARM64] Implement InterlockedXor*_* builtins (authored by mgrang, committed by ). Herald added subscribers: aheejin, dschuff. Changed prior to commit: https://reviews.llvm.org/D54065?vs=17

[PATCH] D54816: [RISCV] Mark unit tests as "requires: riscv-registered-target"

2018-11-21 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: asb, apazos. Herald added subscribers: jocewei, PkmX, rkruppe, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar. Some of these tests break if the RIS

[PATCH] D54816: [RISCV] Mark unit tests as "requires: riscv-registered-target"

2018-11-27 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang added a comment. Ping for reviews please. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D54816/new/ https://reviews.llvm.org/D54816 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/

[PATCH] D54816: [RISCV] Mark unit tests as "requires: riscv-registered-target"

2018-11-27 Thread Mandeep Singh Grang via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL347688: [RISCV] Mark unit tests as "requires: riscv-registered-target" (authored by mgrang, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D54

[PATCH] D55229: [COFF, ARM64] Make -flto-visibility-public-std a driver and cc1 flag

2018-12-03 Thread Mandeep Singh Grang via Phabricator via cfe-commits
mgrang created this revision. mgrang added reviewers: rnk, mstorsjo, efriedma, TomTan. Herald added subscribers: dexonsmith, kristof.beyls, inglorion, javed.absar, mehdi_amini. Clang currently imports certain functions (like __imp__CxxThrowException) even when statically linking. Whereas MSVC st

  1   2   3   4   >