[PATCH] D27066: Fix crash with unsupported architectures in Linux/Gnu target triples.

2016-11-30 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Ping. https://reviews.llvm.org/D27066 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D26960: [docs] Use x86_64 and i386 instead of x86 as arch for triples.

2016-11-29 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Ping. This is a two-line documentation fix, but I want to make sure x86_64 and i386 are valid for arch in target triples in all cases. https://reviews.llvm.org/D26960 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D27250: [OpenMP] TargetLibraryInfo from "declare simd".

2016-11-30 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:6521 +emitX86DeclareSimdFunction(const FunctionDecl *FD, +llvm::APSInt VLENVal, +ArrayRef ParamAttrs, Stray space

[PATCH] D26960: [docs] Use x86_64 and i386 instead of x86 as arch for triples.

2016-12-05 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL288723: [docs] Use x86_64 and i386 instead of x86 as arch for triples. (authored by fhahn). Changed prior to commit: https://reviews.llvm.org/D26960?vs=78842=80332#toc Repository: rL LLVM

[PATCH] D26960: [docs] Use x86_64 and i386 instead of x86 as arch for triples.

2016-12-01 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Thanks, I can commit it myself, I just wanted to be extra careful when changing something x86 related. https://reviews.llvm.org/D26960 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D27066: Fix crash with unsupported architectures in Linux/Gnu target triples.

2016-12-01 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 79883. fhahn added a comment. Herald added a subscriber: mehdi_amini. Addressed @joerg's comment. https://reviews.llvm.org/D27066 Files: lib/Driver/Tools.cpp test/Driver/unsupported-target-arch.c Index: test/Driver/unsupported-target-arch.c

[PATCH] D28148: [Sema] Suppress warnings for C's zero initializer

2016-12-29 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 82626. https://reviews.llvm.org/D28148 Files: include/clang/Basic/LangOptions.def include/clang/Frontend/LangStandard.h include/clang/Frontend/LangStandards.def lib/Frontend/CompilerInvocation.cpp lib/Sema/SemaInit.cpp test/Sema/zero-initializer.c

[PATCH] D28148: [Sema] Suppress warnings for C's zero initializer

2016-12-29 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Ops, it looks like I accidentally switched the diff back to the initial version and I have no idea how to switch it back :( I am very sorry about that, would you mind uploading the latest version again? https://reviews.llvm.org/D28148

[PATCH] D30739: [OpenMP] "declare simd" for AArch64 Advanced SIMD.

2017-03-08 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:6664 + + static void + emitTargetDeclareSimdFunction(const FunctionDecl *FD, llvm::Function *Fn, Shouldn't this indentation be on the same level as namespace{}?

[PATCH] D35081: [ThinLTO] Allow multiple summary entries.

2017-07-11 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. To reproduce the issue you could use +; Check that we only add a single summary entry for multiple definitions +; of a linkonce_odr function + +; RUN: opt -module-summary %s -o %t1.bc +; RUN: opt -module-summary %s -o %t2.bc +; RUN: llvm-lto

[PATCH] D35081: [ThinLTO] Allow multiple summary entries.

2017-07-06 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: inglorion. When combining modules with entries that allow multiple definitions, the combined index can contain multiple summaries for a single GUID. Unless I miss something here, we should be able to continue by just picking the first

[PATCH] D35081: [ThinLTO] Allow multiple summary entries.

2017-07-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn abandoned this revision. fhahn added a comment. My understanding is that https://reviews.llvm.org/D35436 prevents the case described in this review from happening. Thanks for having a look! https://reviews.llvm.org/D35081 ___ cfe-commits

[PATCH] D35826: [Driver] Error if ARM mode was selected explicitly for M-profile CPUs.

2017-07-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added subscribers: kristof.beyls, javed.absar, aemerson. M-class profiles do not support ARM execution mode, so providing -marm/-mno-thumb does not make sense in combination with -mcpu/-march options that support the M-profile. This is a follow-up patch to

[PATCH] D35884: Update to use enum classes for various ARM *Kind enums

2017-07-27 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: lib/Basic/Targets/AArch64.cpp:94 llvm::AArch64::parseCPUArch(Name) != - static_cast(llvm::AArch64::ArchKind::AK_INVALID); + llvm::AArch64::ArchKind::INVALID; } rovka wrote: > My eyes might

[PATCH] D35884: Update to use enum classes for various ARM *Kind enums

2017-07-27 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 108479. fhahn marked an inline comment as done. fhahn added a comment. Addressed reviewer comments https://reviews.llvm.org/D35884 Files: lib/Basic/Targets/AArch64.cpp lib/Basic/Targets/ARM.cpp lib/Basic/Targets/ARM.h lib/Driver/ToolChain.cpp

[PATCH] D35884: Update to use enum classes for various ARM *Kind enums

2017-07-26 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added subscribers: kristof.beyls, aemerson. This updates the relevant Clang parts for the LLVM change https://reviews.llvm.org/D35882. https://reviews.llvm.org/D35884 Files: lib/Basic/Targets/AArch64.cpp lib/Basic/Targets/ARM.cpp

[PATCH] D35081: [ThinLTO] Allow multiple summary entries.

2017-07-12 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. It's @yunlian, so if the issue you described above covers his failure, than that's great. @tejohnson do you have time to work on a fix soon? Otherwise I could give it a try, I would probably need a few pointers though, as I am not really familiar with ThinLTO. Passing

[PATCH] D24644: Pass -ffunction-sections/-fdata-sections along to gold-plugin

2017-06-27 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. I'd like to fix PR22999 and was wondering if you think adding a function-section attribute to the IR would be a viable solution? When doing LTO, we could add the same function-section to each function in a module in the IRLinker. @mehdi_amini did you think something like

[PATCH] D24644: Pass -ffunction-sections/-fdata-sections along to gold-plugin

2017-06-27 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In https://reviews.llvm.org/D24644#792262, @mehdi_amini wrote: > In https://reviews.llvm.org/D24644#792168, @fhahn wrote: > > > I'd like to fix PR22999 and was wondering if you think adding a > > function-section attribute to the IR would be a viable solution? > > > >

[PATCH] D33448: [CodeGen] Add thumb-mode to target-features for arm/thumb triples.

2017-05-26 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. I'll hold off merging this patch until https://reviews.llvm.org/D33436 lands, which fixes a problem with mixed ARM/Thumb codegen https://reviews.llvm.org/D33448 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D33448: [CodeGen] Add thumb-mode to target-features for arm/thumb triples.

2017-05-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. @echristo lib/Basic/Targets.cpp is indeed a much better place to add thumb-mode to the target features, thanks for pointing me in the right direction! https://reviews.llvm.org/D33448 ___ cfe-commits mailing list

[PATCH] D33448: [CodeGen] Add thumb-mode to target-features for arm/thumb triples.

2017-05-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 100222. fhahn retitled this revision from "[CodeGen] Add thumb-mode to function target-features for arm/thumb triples." to "[CodeGen] Add thumb-mode to target-features for arm/thumb triples.". fhahn edited the summary of this revision. fhahn added a comment.

[PATCH] D33448: [CodeGen] Add thumb-mode to target-features for arm/thumb triples.

2017-05-26 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 100371. fhahn added a comment. Updated the comment, thanks for the reviewing this patch! https://reviews.llvm.org/D33448 Files: lib/Basic/Targets.cpp test/CodeGen/arm-long-calls.c test/CodeGen/arm-no-movt.c test/CodeGen/arm-target-features.c

[PATCH] D33721: [ARM] Add support for target("arm") and target("thumb").

2017-05-31 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added subscribers: kristof.beyls, javed.absar, aemerson. This patch adds support for the target("arm") and target("thumb") attributes, which can be used to force the compiler to generated ARM or Thumb code for a function. In LLVM, ARM or Thumb code generation

[PATCH] D33721: [ARM] Add support for target("arm") and target("thumb").

2017-06-02 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: lib/Basic/Targets.cpp:5439-5442 +// [-|+]thumb-mode target features respectively. +std::vector UpdatedFeaturesVec(FeaturesVec); +for (auto : UpdatedFeaturesVec) { + if (Feature.compare("+arm") == 0)

[PATCH] D33448: [CodeGen] Add thumb-mode to target-features for arm/thumb triples.

2017-06-05 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. I've discovered another problem while doing an ARM bootstrap build with mixed ARM/Thumb codegen. With https://reviews.llvm.org/D33898 , the bootstrap build with mixed ARM/Thumb code works properly. After that's in I'll finally commit this patch.

[PATCH] D33721: [ARM] Add support for target("arm") and target("thumb").

2017-06-05 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 101427. fhahn marked an inline comment as done. fhahn added a comment. use else if https://reviews.llvm.org/D33721 Files: lib/Basic/Targets.cpp test/CodeGen/arm-target-attr.c Index: test/CodeGen/arm-target-attr.c

[PATCH] D33448: [CodeGen] Add thumb-mode to target-features for arm/thumb triples.

2017-06-07 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 101687. fhahn added a comment. rebased https://reviews.llvm.org/D33448 Files: lib/Basic/Targets.cpp test/CodeGen/arm-long-calls.c test/CodeGen/arm-no-movt.c test/CodeGen/arm-target-features.c test/CodeGen/arm-thumb-mode-target-feature.c Index:

[PATCH] D33721: [ARM] Add support for target("arm") and target("thumb").

2017-06-01 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 100994. fhahn added a comment. Agreed, ARMTargetInfo is a much better place to do the conversion! Moved attribute conversion to ARMTargetInfo::initFeatureMap. Unfortunately FeaturesVec is const, so creating a mutable clone seemed the most straight-forward

[PATCH] D33721: [ARM] Add support for target("arm") and target("thumb").

2017-05-31 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 100880. fhahn added a comment. reworded comment and improved test case to ensure only a single thumb-mode attribute is added. https://reviews.llvm.org/D33721 Files: include/clang/Basic/Attr.td test/CodeGen/arm-target-attr.c Index:

[PATCH] D40299: [Complex] Don't use __div?c3 when building with fast-math.

2017-11-28 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added reviewers: arphaman, GorNishanov, hfinkel, fhahn. fhahn added a comment. Looks good to me, with some nits. However it seems that we do not use the fast math flags anywhere else in Clang codegen, so it would be good to clarify if it is OK to use it here. Comment

[PATCH] D39321: ARM: centralise SizeType, PtrDiffType, and IntPtrType

2017-10-26 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Could you upload a diff with more context, as suggested in http://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface? That would make it easier to review the patch. Repository: rL LLVM https://reviews.llvm.org/D39321

[PATCH] D40299: [Complex] Don't use __div?c3 when building with fast-math.

2017-12-20 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. I'll commit this for you Paul https://reviews.llvm.org/D40299 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D40299: [Complex] Don't use __div?c3 when building with fast-math.

2017-12-20 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC321183: [Complex] Dont use __div?c3 when building with fast-math. (authored by fhahn, committed by ). Repository: rC Clang https://reviews.llvm.org/D40299 Files: lib/CodeGen/CGExprComplex.cpp

[PATCH] D42978: Make march/target-cpu print a note with the list of valid values for ARM

2018-02-08 Thread Florian Hahn via Phabricator via cfe-commits
fhahn accepted this revision. fhahn added a comment. This revision is now accepted and ready to land. LGTM thanks. Please wait a day or so with committing so others can raise additional concerns. Comment at: test/Misc/target-invalid-cpu-note.c:8 +// AARCH64: note: valid

[PATCH] D42978: Make march/target-cpu print a note with the list of valid values for ARM

2018-02-08 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In https://reviews.llvm.org/D42978#1001616, @Hahnfeld wrote: > I think this means that the Clang test needs to be updated whenever somebody > adds an architecture to LLVM? Maybe just test that Clang emits a note and > don't check which values it prints? These should be

[PATCH] D42978: Make march/target-cpu print a note with the list of valid values

2018-02-07 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a reviewer: rengolin. fhahn added a comment. I like the idea. However for all backends, except Arm and AArch64, we would have to maintain another list of CPU names. At least for the targets which implement `isValidCPUName`, we could add an array with valid names and use that.

[PATCH] D42978: Make march/target-cpu print a note with the list of valid values

2018-02-07 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Also with tests for each backend, this diff will get quite big. As this is opt-in, it might make sense to enable backends separately. Repository: rC Clang https://reviews.llvm.org/D42978 ___ cfe-commits mailing list

[PATCH] D48931: [Driver,AArch64] Add support for -mcpu=native.

2018-07-06 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC336429: [Driver,AArch64] Add support for -mcpu=native. (authored by fhahn, committed by ). Herald added a subscriber: cfe-commits. Repository: rC Clang https://reviews.llvm.org/D48931 Files:

[PATCH] D45240: [ARM] Compute a target feature which corresponds to the ARM version.

2018-04-06 Thread Florian Hahn via Phabricator via cfe-commits
fhahn accepted this revision. fhahn added a comment. Thanks for updating it to use the stuff from TargetParser. LGTM, with tests for the cases @joerg mentiond. Comment at: lib/Basic/Targets/ARM.cpp:345 // get default FPU features + llvm::ARM::ArchKind Arch =

[PATCH] D45240: [ARM] Compute a target feature which corresponds to the ARM version.

2018-04-05 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: lib/Basic/Targets/ARM.cpp:345 // get default FPU features + llvm::ARM::ArchKind Arch = llvm::ARM::parseArch(getTriple().getArchName()); unsigned FPUKind = llvm::ARM::getDefaultFPU(CPU, Arch); Is there a reason we

[PATCH] D45771: [Driver] Support for -save-stats in AddGoldPlugin.

2018-04-18 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: tejohnson, mehdi_amini, compnerd. Herald added a subscriber: emaste. fhahn added a dependency: D45531: [LTO] Add stats-file option to LTO/Config.h.. This patch updates AddGoldPlugin to pass stats-file to the Gold plugin, if -save-stats is

[PATCH] D45771: [Driver] Support for -save-stats in AddGoldPlugin.

2018-04-20 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 143292. fhahn marked 2 inline comments as done. fhahn added a comment. Thank you very much for the review and the excellent suggestions. I simplified getStatsFileName, added a doxygen comment and changed the arguments of AddGoldPlugin as suggested

[PATCH] D45771: [Driver] Support for -save-stats in AddGoldPlugin.

2018-04-20 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC330422: [Driver] Support for -save-stats in AddGoldPlugin. (authored by fhahn, committed by ). Changed prior to commit: https://reviews.llvm.org/D45771?vs=143292=143299#toc Repository: rC Clang

[PATCH] D46030: [TargetInfo] Sort target features before passing them to the backend

2018-04-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn accepted this revision. fhahn added a comment. This revision is now accepted and ready to land. Thanks Eli, LGTM! Comment at: lib/Basic/Targets.cpp:641 Opts->Features.push_back((F.getValue() ? "+" : "-") + F.getKey().str()); + llvm::sort(Opts->Features.begin(),

[PATCH] D45240: [ARM] Compute a target feature which corresponds to the ARM version.

2018-04-04 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. We also add thumb-mode to the target features, for a similar reason, allowing mixed Thumb/Arm codegen with LTO. Repository: rC Clang https://reviews.llvm.org/D45240 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D45240: [ARM] Compute a target feature which corresponds to the ARM version.

2018-04-04 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a reviewer: rengolin. fhahn added a comment. Thanks for looking into this Eli! Adding the architecture version as target feature looks good to me. Comment at: lib/Basic/Targets/ARM.cpp:342 + // rely on the target triple. + switch (ArchKind) { + case

[PATCH] D61939: AArch64: add support for arm64_23 (ILP32) IR generation

2019-05-30 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Hi Tim. Would it be possible to split this in the 'trivial' changes (extending the triple handling for example) and the arm64_32 related changes to size, ABI stuff and so on? The trivial changes look good to me and by splitting them off people can focus on reviewing the

[PATCH] D61939: AArch64: add support for arm64_32 (ILP32) triple and -arch option.

2019-06-11 Thread Florian Hahn via Phabricator via cfe-commits
fhahn accepted this revision. fhahn added a comment. This revision is now accepted and ready to land. LGTM, thanks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61939/new/ https://reviews.llvm.org/D61939

[PATCH] D60516: [LTO] Add plumbing to save stats during LTO on Darwin.

2019-04-19 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL358753: [LTO] Add plumbing to save stats during LTO on Darwin. (authored by fhahn, committed by ). Changed prior to commit: https://reviews.llvm.org/D60516?vs=194524=195873#toc Repository: rL LLVM

[PATCH] D60516: [LTO] Add plumbing to save stats during LTO on Darwin.

2019-04-19 Thread Florian Hahn via Phabricator via cfe-commits
fhahn marked 2 inline comments as done. fhahn added a comment. In D60516#1470518 , @tejohnson wrote: > LGTM with a minor fix needed below. > > Darwin still uses the old LTO API, which is why the lto Config based handling > in the new LTO API

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-03 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: jfb, rsmith, rjmccall, efriedma, hfinkel. Herald added subscribers: llvm-commits, dexonsmith, hiraditya. Herald added projects: clang, LLVM. I am not sure if this is the best way to do the matching and would appreciate any pointers for improving

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-04 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Thanks for the quick responses and the helpful comments. Thank you very much Hal, for summarizing the argument from previous discussions. My initial understanding indeed was that by generating ptrmask directly for C/C++ expressions, we can circumvent the issues that come

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-04 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In D64128#1569836 , @hfinkel wrote: > In D64128#1569817 , @rjmccall wrote: > > > The pointer/integer conversion is "implementation-defined", but it's not > > totally unconstrained. C notes

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-03 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 207754. fhahn added a comment. Strip away llvm changes, use ABIAlignment for address space. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64128/new/ https://reviews.llvm.org/D64128 Files:

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-03 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: clang/lib/CodeGen/CGExprScalar.cpp:2025 + + auto *CE = dyn_cast(peelParens(BO->getLHS())); + if (!CE || CE->getCastKind() != CK_PointerToIntegral) xbolva00 wrote: > BO->getLHS()->IgnoreParens() ? That's very useful,

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-03 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 207761. fhahn marked 2 inline comments as done. fhahn added a comment. Use IgnoreParens(). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64128/new/ https://reviews.llvm.org/D64128 Files:

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-10 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In D64128#1576391 , @rjmccall wrote: > I wouldn't favor adding something really obscure that was only useful for > clang, but I think builtins to set and clear mask bits while promising to > preserve object-reference identity

[PATCH] D60516: [LTO] Add plumbing to save stats during LTO on MacOS.

2019-04-10 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: anemet, tejohnson, thegameg. Herald added subscribers: cfe-commits, dang, dexonsmith, steven_wu, hiraditya, inglorion, mehdi_amini. Herald added projects: clang, LLVM. Gold and ld on Linux already support saving stats, but the infrastructure is

[PATCH] D60516: [LTO] Add plumbing to save stats during LTO on Darwin.

2019-04-17 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60516/new/ https://reviews.llvm.org/D60516 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-13 Thread Florian Hahn via Phabricator via cfe-commits
fhahn accepted this revision. fhahn added reviewers: hfinkel, reames. fhahn added a comment. This revision is now accepted and ready to land. LGTM, thanks! Please wait a few days with committing, in case any additional comments come in via the mailing list. CHANGES SINCE LAST ACTION

[PATCH] D66290: [clang] Pragma vectorize_width() implies vectorize(enable)

2019-08-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. > As also pointed out in the discussion on the cfe dev list, this is probably a > bit > of a silly combination: > > > vectorize(enable) vectorize_width(1) > > > but it could still mean that the vectorizer interleaves. So, with this > simplification,

[PATCH] D66290: [clang] Pragma vectorize_width() implies vectorize(enable)

2019-08-19 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. I think it would be slightly better to split off the change to disable vectorization via `llvm.loop.vectorize.enable=false` instead of width=1. This changes the behaviour from "disable vectorization, but allow interleaving in the vectoriser" to "disable the vectoriser".

[PATCH] D66290: [clang] Pragma vectorize_width() implies vectorize(enable)

2019-08-27 Thread Florian Hahn via Phabricator via cfe-commits
fhahn accepted this revision. fhahn added a comment. This revision is now accepted and ready to land. LGTM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66290/new/ https://reviews.llvm.org/D66290 ___ cfe-commits mailing list

[PATCH] D66796: [clang] Loop pragma vectorize(disable)

2019-09-09 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. IMO it is fine to say ` pragma vectorize(disable)` disables the vectorizer completely, including interleaving. @Meinersbur, what do you think? I think it would be good to make that clear in the commit message. CHANGES SINCE LAST ACTION

[PATCH] D65776: [Clang] Pragma vectorize_predicate implies vectorize

2019-08-06 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In D65776#1615834 , @Meinersbur wrote: > Mmmh, I would have expected this to work the same way as `vectorize_width`. > According to the docs: > > > The following example implicitly enables vectorization and interleaving by > >

[PATCH] D57265: [PM/CC1] Add -f[no-]split-cold-code CC1 options to toggle splitting

2019-09-29 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. This seems fine to me. IIUC the only potential drawback with the old pass manager is that we potentially have to run the required passes unconditionally, even if we do not use them. Vedant, did you have a chance to check the impact on overall compile time?

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-09 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In D64128#1572504 , @rjmccall wrote: > I would be opposed to any addition of a `-f` flag for this absent any > evidence that it's valuable for some actual C code; this patch appears to be > purely speculative. I certainly don't