[PATCH] D77058: [Clang] Add llvm.loop.unroll.disable to loops with -fno-unroll-loops.

2020-03-30 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: Meinersbur, hfinkel, dexonsmith, tejohnson. Herald added a subscriber: zzheng. Herald added a project: clang. Currently Clang does not respect -fno-unroll-loops during LTO. During D76916 it was suggested to

[PATCH] D77010: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC).

2020-03-29 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG99913ef3d14f: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC). (authored by fhahn). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D77010: [OpenMP] set_bits iterator yields unsigned elements, no reference (NFC).

2020-03-29 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: jdoerfert, rnk. Herald added subscribers: llvm-commits, guansong, hiraditya. Herald added a project: LLVM. BitVector::set_bits() returns an iterator range yielding unsinged elements, which always will be copied while const & gives the impression

[PATCH] D76916: [Darwin] Respect -fno-unroll-loops during LTO.

2020-03-27 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9ce198d6ed37: [Darwin] Respect -fno-unroll-loops during LTO. (authored by fhahn). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76916/new/

[PATCH] D76916: [Darwin] Respect -fno-unroll-loops during LTO.

2020-03-27 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: thegameg, steven_wu. Herald added subscribers: cfe-commits, dang, dexonsmith, zzheng, hiraditya, inglorion. Herald added a project: clang. Currently -fno-unroll-loops is ignored when doing LTO on Darwin. This patch adds a new

[PATCH] D76612: [Matrix] Add draft specification for matrix support in Clang.

2020-03-26 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 252995. fhahn added a comment. Update according to comments on cfe-dev. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76612/new/ https://reviews.llvm.org/D76612 Files: clang/docs/LanguageExtensions.rst

[PATCH] D72773: [Matrix] Add __builtin_matrix_{add,sub} to Clang (WIP).

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn abandoned this revision. fhahn added a comment. superseded by D76793 using operators. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72773/new/ https://reviews.llvm.org/D72773

[PATCH] D72772: [Matrix] Add __builtin_matrix_extract to Clang (WIP).

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn abandoned this revision. fhahn added a comment. superseded by D76791 using operators. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72772/new/ https://reviews.llvm.org/D72772

[PATCH] D72774: [Matrix] Add __builtin_matrix_multiply to Clang (WIP).

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. Superseded by D76794 using operators. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72774/new/ https://reviews.llvm.org/D72774 ___ cfe-commits

[PATCH] D72785: [Matrix] Add __builtin_matrix_scalar_multiply to Clang (WIP).

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn abandoned this revision. fhahn added a comment. Superseded by D76794 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72785/new/ https://reviews.llvm.org/D72785

[PATCH] D76794: [Matrix] Implement * binary operator for MatrixType.

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: rjmccall, anemet, Bigcheese, rsmith, martong. Herald added subscribers: tschuett, dexonsmith, rnkovacs. Herald added a project: clang. This patch implements the * binary operator for values of MatrixType. It adds support for matrix * matrix,

[PATCH] D76793: [Matrix] Implement + and - operators for MatrixType.

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: rjmccall, anemet, Bigcheese, rsmith, martong. Herald added subscribers: tschuett, dexonsmith, rnkovacs. Herald added a project: clang. This patch implements the + and - binary operators for values of MatrixType. It adds support for matrix +/-

[PATCH] D72283: [Matrix] Add __builtin_matrix_insert to Clang (WIP).

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn abandoned this revision. fhahn added a comment. superseded by D76791 using operators. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72283/new/ https://reviews.llvm.org/D72283

[PATCH] D72281: [Matrix] Add matrix type to Clang.

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 252634. fhahn edited the summary of this revision. fhahn added a comment. Include columns in structural equi check, fixed type printing todo & rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72281/new/

[PATCH] D76791: [Matrix] Implement matrix index expressions ([][]).

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: rjmccall, anemet, Bigcheese, rsmith, martong. Herald added subscribers: tschuett, arphaman, dexonsmith, rnkovacs. Herald added a project: clang. This patch implements matrix index expressions (matrix[RowIdx][ColumnIdx]). It does so by utilizing

[PATCH] D72281: [Matrix] Add matrix type to Clang.

2020-03-25 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a reviewer: rjmccall. fhahn marked 2 inline comments as done. fhahn added inline comments. Comment at: clang/lib/AST/ASTStructuralEquivalence.cpp:647 + return false; +if (Mat1->getNumRows() != Mat2->getNumRows()) + return false; martong

[PATCH] D76534: [clang/docs] Fix various sphinx warnings/errors in docs.

2020-03-23 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. In D76534#1934943 , @rjmccall wrote: > Is the option issue causing the documentation to be wrong in any way, or does > it just produce a warning? If the latter, we could raise this issue with > them. I think it just produces a

[PATCH] D72281: [Matrix] Add matrix type to Clang.

2020-03-23 Thread Florian Hahn via Phabricator via cfe-commits
fhahn updated this revision to Diff 252043. fhahn added a comment. Rebased Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72281/new/ https://reviews.llvm.org/D72281 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D76612: [Matrix] Add draft specification for matrix support in Clang.

2020-03-23 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: rsmith, anemet, Bigcheese, dexonsmith. Herald added a subscriber: tschuett. Herald added a project: clang. This patch documents the planned matrix support in Clang, based on the draft specification discussed on cfe-dev in the 'Matrix Support in

[PATCH] D76534: [clang/docs] Fix various sphinx warnings/errors in docs.

2020-03-21 Thread Florian Hahn via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG684ee2057f5d: [clang/docs] Fix various sphinx warnings/errors in docs. (authored by fhahn). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D76534/new/

[PATCH] D76534: [clang/docs] Fix various sphinx warnings/errors in docs.

2020-03-20 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. fhahn added reviewers: jfb, Bigcheese, dexonsmith. Herald added a project: clang. Herald added a subscriber: cfe-commits. There are a few places with unexpected indents that trip over sphinx and other syntax errors. Also, the C++ syntax highlighting does not work for

[PATCH] D72304: [OpenMP][OMPIRBuilder] Add Directives (master and critical) to OMPBuilder.

2020-02-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. It looks like this patch (or the other related changes committed recently) may cause ASan failures running `Transforms/OpenMP/gtid.ll ` and `Transforms/OpenMP/parallel_deletion.ll` http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan/6960/consoleFull It would be

[PATCH] D71830: [OpenMP][Part 2] Use reusable OpenMP context/traits handling

2020-02-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. It looks like this may cause ASan failures http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/38749/steps/check-clang%20asan/logs/stdio It would be great if you could take a look and possibly revert the change if it takes some time to investigate.

[PATCH] D72281: [Matrix] Add matrix type to Clang (WIP).

2020-02-13 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added subscribers: jwakely, jfb. fhahn added a comment. @jwakely it would be great if you could have a brief look at our recent proposal for matrix support in Clang and could let us know if you have any concerns? The original proposal is being discussed on cfe-dev

[PATCH] D73162: [test] Avoid loop-unroll.c test getting confused by fadd in git revision

2020-01-22 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. I think we could also just add a single match for something after the generated functions, to limit the scope of CHECK-NOT, e.g add something like `CHECK : !0 =` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73162/new/

[PATCH] D72785: [Matrix] Add __builtin_matrix_scalar_multiply to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72785 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D72782: [Matrix] Add __builtin_matrix_column_store to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72782 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Sema/Sema.h clang/lib/CodeGen/CGBuiltin.cpp

[PATCH] D72781: [Matrix] Add __builtin_matrix_column_load to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72781 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Sema/Sema.h clang/lib/CodeGen/CGBuiltin.cpp

[PATCH] D72778: [Matrix] Add __builtin_matrix_transpose to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72778 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Sema/Sema.h clang/lib/CodeGen/CGBuiltin.cpp

[PATCH] D72774: [Matrix] Add __builtin_matrix_multiply to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72774 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D72773: [Matrix] Add __builtin_matrix_{add,sub} to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72773 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D72772: [Matrix] Add __builtin_matrix_extract to Clang (WIP).

2020-01-15 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D72772 Files: clang/include/clang/Basic/Builtins.def clang/include/clang/Sema/Sema.h clang/lib/CodeGen/CGBuiltin.cpp

[PATCH] D72283: [Matrix] Add __builtin_matrix_insert to Clang (WIP).

2020-01-06 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a subscriber: tschuett. Herald added a project: clang. This patch adds a __builtin_matrix_insert builtin as described in "Matrix Support in Clang" on cfe-dev [1]. The patch is not intended for review yet, just to provide an idea how the implementation

[PATCH] D72281: [Matrix] Add matrix type to Clang (WIP).

2020-01-06 Thread Florian Hahn via Phabricator via cfe-commits
fhahn created this revision. Herald added a reviewer: martong. Herald added subscribers: tschuett, arphaman. Herald added a project: clang. This patch adds a matrix type to Clang as described in "Matrix Support in Clang" on cfe-dev [1]. The patch is not intended for review yet, just to provide an

[PATCH] D61446: Generalize the pass registration mechanism used by Polly to any third-party tool

2020-01-04 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added a comment. There seems to be a problem with this patch on macOS. I've XFAIL'd it in rGdb82fc5dd80ff14798e7f1c35dd7e593f6409ba3 . This should unblock the macOS builders, but please take a look at the problem.

[PATCH] D71499: Add builtins for aligning and checking alignment of pointers and integers

2019-12-16 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: clang/lib/CodeGen/CGBuiltin.cpp:14323 +Result = Builder.CreateIntrinsic( +Intrinsic::ptrmask, {Args.SrcType, SrcForMask->getType(), Args.IntType}, +{SrcForMask, NegatedMask}, nullptr, "aligned_result");

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-11-28 Thread Florian Hahn via Phabricator via cfe-commits
fhahn added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:143 MtuneLowerCase = llvm::sys::getHostCPUName(); - if (MtuneLowerCase == "cyclone") { + if (MtuneLowerCase == "cyclone" || MtuneLowerCase.find("apple") == 0) {

[PATCH] D70779: AArch64: add support for newer Apple CPUs

2019-11-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, but it might be good to wait with committing until next week, so people in the US have a chance to take a look as well. Comment at:

[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] 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] 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] 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-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] 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] 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] 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] 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

[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-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-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-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 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 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] 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] 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] 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] 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] 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] 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] 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] 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] 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-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] 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] 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] 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 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] 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] 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] 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-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] 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] 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] 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] 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] 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] 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] 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] 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-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-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-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] 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] 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] 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-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] 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] 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] 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] 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

<    2   3   4   5   6   7   8   >