[PATCH] D50771: [clang-tblgen] Add -print-records and -dump-json modes.

2018-08-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added a reviewer: nhaehnle. Herald added a subscriber: cfe-commits. Currently, if clang-tblgen is run without a mode option, it defaults to the first mode in its 'enum Action', which happens to be -gen-clang-attr-classes. I think it makes more sense

[PATCH] D47476: Support __iso_volatile_load8 etc on aarch64-win32.

2018-05-29 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. Herald added a reviewer: javed.absar. Herald added subscribers: cfe-commits, kristof.beyls. These intrinsics are used by MSVC's header files on AArch64 Windows as well as AArch32, so we should support them for both targets. I've factored them out of CodeGenFunct

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-04-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: dmgreen, samparker, SjoerdMeijer. Herald added subscribers: llvm-commits, cfe-commits, hiraditya, kristof.beyls, javed.absar. Herald added projects: clang, LLVM. Now, when clang processes an argument of the form "-march=foo+x+y+z",

[PATCH] D60699: [ARM] add CLI support for 8.1-M and MVE.

2019-04-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: dmgreen, samparker, SjoerdMeijer. Herald added subscribers: cfe-commits, kristof.beyls, javed.absar. Herald added a project: clang. Given the existing infrastructure in LLVM side for +fp and +fp.dp, this is more or less trivial, nee

[PATCH] D60709: [ARM] Support inline assembler constraints for MVE.

2019-04-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: dmgreen, samparker, SjoerdMeijer. Herald added subscribers: llvm-commits, cfe-commits, hiraditya, kristof.beyls, eraman, javed.absar. Herald added projects: clang, LLVM. "To" selects an odd-numbered GPR, and "Te" an even one. There

[PATCH] D60710: [ARM] Add ACLE feature macros for MVE.

2019-04-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: dmgreen, samparker, SjoerdMeijer. Herald added subscribers: cfe-commits, kristof.beyls, javed.absar. Herald added a project: clang. If MVE is present at all, then the macro __ARM_FEATURE_MVE is defined to a value which has bit 0 set

[PATCH] D60709: [ARM] Support inline assembler constraints for MVE.

2019-04-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Yes, it is. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60709/new/ https://reviews.llvm.org/D60709 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.

[PATCH] D60697: [ARM] Allow "-march=foo+fp" to vary with foo.

2019-04-16 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 3 inline comments as done. simon_tatham added a comment. The aim of this change is that it will apply to the v8.1-M (mainline) architecture introduced in D60698 , in which `+fp` //won't// be the default: `-march=armv8.1m.main` by itself gives

[PATCH] D62729: [ARM] Fix recent breakage of -mfpu=none.

2019-05-31 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: SjoerdMeijer, dmgreen. Herald added subscribers: llvm-commits, cfe-commits, hiraditya, kristof.beyls, javed.absar. Herald added projects: clang, LLVM. The recent change D60691 introduced a bug in

[PATCH] D62729: [ARM] Fix recent breakage of -mfpu=none.

2019-05-31 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/test/CodeGen/arm-mfpu-none.c:2 +// REQUIRES: arm-registered-target +// RUN: %clang -target arm-none-eabi -mcpu=cortex-m4 -mfpu=none -S -o - %s | FileCheck %s + d

[PATCH] D62729: [ARM] Fix recent breakage of -mfpu=none.

2019-06-03 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/test/CodeGen/arm-mfpu-none.c:2 +// REQUIRES: arm-registered-target +// RUN: %clang -target arm-none-eabi -mcpu=cortex-m4 -mfpu=none -S -o - %s | FileCheck %s + d

[PATCH] D62729: [ARM] Fix recent breakage of -mfpu=none.

2019-06-03 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 202681. simon_tatham added a comment. Added the extra checks in `arm-mfpu.c`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62729/new/ https://reviews.llvm.org/D62729 Files: clang/lib/Driver/ToolChains/

[PATCH] D60691: [ARM] Replace fp-only-sp and d16 with fp64 and d32.

2019-06-04 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added a comment. Hmm, yes, I see what you mean. It //looks// to me as if the problem is that `llvm::ARM::getFPUFeatures` is setting up a feature list including `+vfp4`, `-fp64` and `-d32` just as you'd expect, but when it's called from

[PATCH] D62998: [ARM] Fix bugs introduced by the fp64/d32 rework.

2019-06-07 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: SjoerdMeijer, dmgreen, ostannard, samparker, JamesNagurne. Herald added subscribers: llvm-commits, cfe-commits, hiraditya, kristof.beyls, javed.absar, srhines. Herald added projects: clang, LLVM. Change D60691

[PATCH] D62998: [ARM] Fix bugs introduced by the fp64/d32 rework.

2019-06-07 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 2 inline comments as done. simon_tatham added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:449 //as well. -for (std::string Feature : {"vfp2", "vfp3", "vfp4", "fp-armv8", "fullfp16", -"n

[PATCH] D62998: [ARM] Fix bugs introduced by the fp64/d32 rework.

2019-06-07 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 203526. simon_tatham added a comment. Renamed `FeaturesAfter` to `ExtensionFeatures` and added a comment explaining why it has to be separate. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62998/new/ https

[PATCH] D60709: [ARM] Support inline assembler constraints for MVE.

2019-06-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 204039. simon_tatham added a comment. Remastered patch to apply cleanly against current trunk. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60709/new/ https://reviews.llvm.org/D60709 Files: clang/lib/B

[PATCH] D60709: [ARM] Support inline assembler constraints for MVE.

2019-06-25 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 206455. simon_tatham added a comment. Rebased this patch to current trunk, and also fixed a test failure by adding `arm_aapcs_vfpcc` to the test functions that use MVE vector types (since we can't support passing vector types in GPRs until we get all th

[PATCH] D60709: [ARM] Support inline assembler constraints for MVE.

2019-06-26 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 3 inline comments as done. simon_tatham added inline comments. Comment at: cfe/trunk/lib/Basic/Targets/ARM.cpp:912 + return true; +} case 'U': // a memory reference... craig.topper wrote: > Is this supposed to fallthrough from 'T'

[PATCH] D63936: [ARM] Minor fixes in command line option parsing

2019-07-01 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. I can't shed as much light as you might hope, I'm afraid, but in D62998 my intention was not to make `-mcpu=anything` win over `-mfpu=anything`. It was to make an //explicit// request to enable a feature win over an //implicit// re

[PATCH] D60691: [ARM] Replace fp-only-sp and d16 with fp64 and d32.

2019-05-28 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: llvm/test/MC/ARM/armv8.3a-js.s:16 // REQ-V83: error: instruction requires: armv8.3a -// REQ-FP: error: instruction requires: FPARMv8 +// REQ-FP: error: invalid instruction

[PATCH] D60691: [ARM] Replace fp-only-sp and d16 with fp64 and d32.

2019-05-28 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 4 inline comments as done. simon_tatham added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.h:587 bool hasVFP2() const { return HasVFPv2; } bool hasVFP3() const { return HasVFPv3; } ostannard wrote: > Are the old functi

[PATCH] D67159: [clang] New __attribute__((__clang_builtin)).

2019-09-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 219691. simon_tatham added a comment. New version which renames the attribute to be MVE-specific, and locks it down as requested. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67159/new/ https://reviews.l

[PATCH] D67160: [clang, ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M.

2019-09-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 219692. simon_tatham added a comment. Added a test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67160/new/ https://reviews.llvm.org/D67160 Files: clang/lib/Driver/ToolChains/Clang.cpp clang/test/Dri

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-02 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 10 inline comments as done. simon_tatham added inline comments. Comment at: clang/lib/AST/Decl.cpp:3082 +static bool ArmMveAliasValid(unsigned BuiltinID, StringRef AliasName) { + // This will be filled in by Tablegen which isn't written yet + return false; -

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-02 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 222785. simon_tatham marked an inline comment as done. simon_tatham edited the summary of this revision. simon_tatham added a comment. Addressed many (but not quite all) review comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-02 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/lib/Sema/SemaDeclAttr.cpp:7442 + case ParsedAttr::AT_ClangBuiltinOverride: +handleClangBuiltinOverrideAttribute(S, D, AL); +break; aaron.ballman wrote: >

[PATCH] D48626: New option -fwindows-filesystem, affecting #include paths.

2018-06-27 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. Herald added a subscriber: cfe-commits. This option interposes a wrapper implementation of VirtualFileSystem in front of the one in the CompilerInstance. The wrapper filesystem differs from the standard one in that it tolerates backslashes as a path separator ev

[PATCH] D48626: New option -fwindows-filesystem, affecting #include paths.

2018-06-27 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. As I mentioned on llvm-dev, this is an unfinished draft. I'm interested in review comments, but I already know things like 'needs more comments / tests / careful error handling' :-) Some 'known unknowns': - I'm caching the results of every directory scan, to save

[PATCH] D48626: New option -fwindows-filesystem, affecting #include paths.

2018-06-27 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. No, I haven't measured it. Partly because that was one of the (many) things I was going to leave until after I //didn't// get feedback on the first draft that discouraged me from the whole idea :-) and also because I've already thought of one thing I can do to spee

[PATCH] D48626: New option -fwindows-filesystem, affecting #include paths.

2018-06-28 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. @thakis : no, the backslash support is needed for include directives //in source files//, not just on command lines, because in my experience it's not unusual for Windows-only code bases to be full of things like `#include "Subdir\Header.h"`. @mstorsjo : in this d

[PATCH] D48626: New option -fwindows-filesystem, affecting #include paths.

2018-06-28 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. > first check all directories in a fully case sensitive manner, just like > today. And if that fails (and we'd have a real failure that we'd otherwise > return to the caller), redo it all with case insensitivity. I agree that the integration would be a bigger heada

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-04 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/lib/AST/Decl.cpp:3107 +if (!ArmMveAliasValid(BuiltinID, getIdentifier()->getName())) { + getASTContext().getDiagnostics().Report( +getLocation(), diag::err_attrib

[PATCH] D67161: [clang,ARM] Initial ACLE intrinsics for MVE.

2019-10-04 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 20 inline comments as done. simon_tatham added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:8529 "argument should be a multiple of %0">; +def err_argument_not_power_of_2 : Error< + "argument should be a power of 2">; --

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-07 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/lib/AST/Decl.cpp:3107 +if (!ArmMveAliasValid(BuiltinID, getIdentifier()->getName())) { + getASTContext().getDiagnostics().Report( +getLocation(), diag::err_attrib

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-07 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 223550. simon_tatham added a comment. Moved the diagnostic into `SemaDeclAttr.cpp` as suggested. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67159/new/ https://reviews.llvm.org/D67159 Files: clang/inc

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-07 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/lib/AST/Decl.cpp:3107 +if (!ArmMveAliasValid(BuiltinID, getIdentifier()->getName())) { + getASTContext().getDiagnostics().Report( +getLocation(), diag::err_attrib

[PATCH] D67160: [clang, ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M.

2019-10-09 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 224031. simon_tatham added a comment. Rebased to current master. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67160/new/ https://reviews.llvm.org/D67160 Files: clang/lib/Driver/ToolChains/Clang.cpp c

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-09 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 224030. simon_tatham added a comment. Rebased to current master. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67159/new/ https://reviews.llvm.org/D67159 Files: clang/include/clang/Basic/Attr.td clang

[PATCH] D67160: [clang, ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M.

2019-10-09 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Yes, the commit message in rL371817 mentions that the long-term aim is to change the default to `none` for everyone. If that change happens before I manage to land this patch, then this patch certainly will become unnecessary. B

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-10 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 224288. simon_tatham marked 3 inline comments as done. simon_tatham added a comment. Removed spuriously inserted blank line and redundant `checkAttributeNumArgs`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.or

[PATCH] D67160: [clang, ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M.

2019-10-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Hmmm. I take your point, and so I backed out my local version of this patch in order to try to solve the problem a different way in overload resolution. But in fact overloading on different vector types already seems to work fine: my in-progress patch series still

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Thanks for the review! (I expect to leave this uncommitted until I have enough other patches approved to make it actually useful, and then commit them all together.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67159

[PATCH] D69025: [Driver,ARM] Make -mfloat-abi=soft turn off MVE.

2019-10-16 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added a reviewer: dmgreen. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. Since `-mfloat-abi=soft` is taken to mean turning off all uses of the FP registers, it should turn off the MVE vector instructions as wel

[PATCH] D69025: [Driver,ARM] Make -mfloat-abi=soft turn off MVE.

2019-10-16 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Yes: this change is in the driver, and causes those features to be disabled on the command line to cc1, which responds by not defining `__ARM_FEATURE_MVE`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69025/new/ http

[PATCH] D69025: [Driver,ARM] Make -mfloat-abi=soft turn off MVE.

2019-10-16 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. So, as for adding a test ... the test I //have// added here ensures that this combination of driver options leads to `-target-feature -mve` and `-mve.fp` on the cc1 command line, and the existing test `Preprocessor/arm-target-features.c` checks that that in turn le

[PATCH] D69025: [Driver,ARM] Make -mfloat-abi=soft turn off MVE.

2019-10-16 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGfdccf28697e5: [Driver,ARM] Make -mfloat-abi=soft turn off MVE. (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69025/new/ https://

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-24 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 226238. simon_tatham added a comment. (Rebased to current master; no change) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67159/new/ https://reviews.llvm.org/D67159 Files: clang/include/clang/Basic/Att

[PATCH] D67159: [clang] New __attribute__((__clang_arm_mve_alias)).

2019-10-24 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG7c11da0cfd33: [clang] New __attribute__((__clang_arm_mve_alias)). (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67159/new/ https

[PATCH] D67161: [clang,ARM] Initial ACLE intrinsics for MVE.

2019-10-25 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked an inline comment as done. simon_tatham added inline comments. Comment at: clang/utils/TableGen/CMakeLists.txt:17 NeonEmitter.cpp + MveEmitter.cpp TableGen.cpp thakis wrote: > nit: These files are listed alphabetically. Sorry about that

[PATCH] D69426: [clang] Switch arm-mve-intrinsics tests to use %clang_cc1.

2019-10-25 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added a reviewer: dmgreen. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. simon_tatham edited the summary of this revision. It isn't really necessary for them to run the clang driver, and it's more efficient not

[PATCH] D69426: [clang] Switch arm-mve-intrinsics tests to use %clang_cc1.

2019-10-25 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. There's no need, as far as I can see. `-fno-discard-value-names` is a driver option only. On the cc1 command line the option is `-discard-value-names`, and it has no negative form: you turn it off by not specifying it in the first place, which indeed these command

[PATCH] D69426: [clang] Switch arm-mve-intrinsics tests to use %clang_cc1.

2019-10-25 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG11ce19d2119e: [clang] Switch arm-mve-intrinsics tests to use %clang_cc1. (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69426/new/

cfe-commits@lists.llvm.org

2020-05-28 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/lib/CodeGen/CGBuiltin.cpp:10366 +auto Alignment = CGM.getNaturalPointeeTypeAlignment( +E->getArg(0)->IgnoreParenCasts()->getType()); Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(VTy)); -

[PATCH] D82659: Fix missing build dependency on omp_gen.

2020-07-01 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. In D82659#2125618 , @clementval wrote: > LGTM. So later the DEPENDS omp_gen that are in clang subdirectories could be > removed right? That seems likely. I'm thinking what I should probably do is to polish up my checking s

[PATCH] D82659: Fix missing build dependency on omp_gen.

2020-07-01 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. [facepalm] Thank you. I carefully //wrote// a revised description, but forgot to upload it to this issue. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82659/new/ https://reviews.llvm.org/D82659 ___

[PATCH] D82659: Fix missing build dependency on omp_gen.

2020-07-02 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9e6f19fd8390: Fix missing build dependency on omp_gen. (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82659/new/ https://reviews.

[PATCH] D82659: Fix missing build dependency on omp_gen.

2020-07-03 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. @jdoerfert , @clementval : over in D83032 is a polished-up version of the script I used to check where the missing deps needed to go. Might be useful for the next problem of this kind. But I'm not sure who to get to review it; perh

[PATCH] D82659: Fix missing build dependency on omp_gen.

2020-07-01 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 274739. simon_tatham added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. Here's a completely different patch, which adds all the missing dependencies on `OMP.h.inc` in the `clang` subdirectory in one go. Repository:

[PATCH] D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat.

2020-07-31 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: SjoerdMeijer, rjmccall, rsmith, liutianle, RKSimon, craig.topper, jfb, LukeGeeson, fpetrogalli. Herald added subscribers: cfe-commits, dexonsmith, kristof.beyls. Herald added a project: clang. simon_tatham requested review of this r

[PATCH] D85010: [clang][ARM] Add name-mangling test for direct __fp16 arguments.

2020-07-31 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: LukeGeeson, stuij, chill, miyuki, labrinea. Herald added subscribers: cfe-commits, danielkiss, kristof.beyls. Herald added a project: clang. simon_tatham requested review of this revision. `clang/test/CodeGenCXX/fp16-mangle.cpp` tes

[PATCH] D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat.

2020-07-31 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. In D85009#2187549 , @jfb wrote: > Is that true of all vector bfloat implementations? It seems like arithmetic > on these types is something implementations would likely support. As I understand it, Arm currently has the only

[PATCH] D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat.

2020-07-31 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. In D85009#2187621 , @jfb wrote: > You mean: only aarch64 backend supports lowering bfloat16 vectors at the > moment? Yes, sorry – I should have said that Arm has the only implementation //in an LLVM target//. I meant the on

[PATCH] D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat.

2020-08-03 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. In D85009#2187643 , @jfb wrote: > Language-wise I think https://wg21.link/p1467 is where C++ is going, and C is > taking a similar approach. That doesn't seem to mention vectors at all. As I said on Friday, I wouldn't disag

[PATCH] D85010: [clang][ARM] Add name-mangling test for direct __fp16 arguments.

2020-08-03 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGed0e4c70c99d: [clang][ARM] Add name-mangling test for direct __fp16 arguments. (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D8501

[PATCH] D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat.

2020-08-06 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. This discussion seems to have wound down. I'll land this patch tomorrow on the strength of @LukeGeeson's review, unless you have strong objections, @jfb? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85009/new/ https:

[PATCH] D85009: [Sema][BFloat] Forbid arithmetic on vectors of bfloat.

2020-08-07 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG1d782942500b: [Sema][BFloat] Forbid arithmetic on vectors of bfloat. (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85009/new/ ht

[PATCH] D12669: [libcxxabi] Fix alignment of pointers returned by fallback_malloc

2022-07-01 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Herald added a project: All. @EricWF, I have an updated version of this patch that applies against current `main`. Do you mind if I commandeer this revision and post my updated patch on it? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D12669/new/ https://

[PATCH] D131555: [Clang] Propagate const context info when emitting compound literal

2022-08-10 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. The clang code change looks reasonable to me, but I'm not the most expert in that area. The intended result certainly seems sensible, because the C90-compatible version of that code //without// a constant literal is happy to do double→float conversion at compile t

[PATCH] D105493: [clang] Change set type used for SourceLocation.

2021-07-19 Thread Simon Tatham via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. simon_tatham marked an inline comment as done. Closed by commit rGcef56d58dbbb: [clang] Change set type used for SourceLocation. (authored by simon_tatham). Changed prior to commit: https://reviews.llvm.org/D105493?vs=356

[PATCH] D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. I looked into this yesterday, and realised that I don't actually know what the use case //is// for emitting `!srcloc` metadata in an IR file. It's more or less ignored by llc, as far as I can see: if there's a late-breaking error in the inline asm string, you just

[PATCH] D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 360098. simon_tatham edited the summary of this revision. simon_tatham added a comment. Added an i64 `!srcloc` to the only existing test of them I could find. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D1

[PATCH] D105492: [clang] Introduce SourceLocation::[U]IntTy typedefs.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 360099. simon_tatham retitled this revision from "[clang] Introduce SourceLocation::[U]IntType typedefs." to "[clang] Introduce SourceLocation::[U]IntTy typedefs.". simon_tatham added a comment. Renamed types to [U]IntTy. This will affect some of the de

[PATCH] D105498: [clang] Remove assumption about SourceLocation alignment.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 360101. simon_tatham edited the summary of this revision. simon_tatham added a comment. Split up the allocations as suggested. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105498/new/ https://reviews.llvm

[PATCH] D105498: [clang] Remove assumption about SourceLocation alignment.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 360104. simon_tatham added a comment. ... and removed an unused function from the previous version. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105498/new/ https://reviews.llvm.org/D105498 Files: clan

[PATCH] D105498: [clang] Remove assumption about SourceLocation alignment.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/lib/AST/DeclObjC.cpp:31 #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/MathExtras.h" #include "llvm/Support/raw_ostream.h" Oops, before anyone else points it out, this `#include` is also now

[PATCH] D105498: [clang] Remove assumption about SourceLocation alignment.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/include/clang/AST/DeclObjC.h:208 const ParmVarDecl *const *getParams() const { -return reinterpret_cast(ParamsAndSelLocs); +return const_cast(Params); } tmatheson wrote: > I don't think you need

[PATCH] D105498: [clang] Remove assumption about SourceLocation alignment.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 360123. simon_tatham added a comment. Addressed two nits. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105498/new/ https://reviews.llvm.org/D105498 Files: clang/include/clang/AST/DeclObjC.h clang/lib

[PATCH] D105498: [clang] Remove assumption about SourceLocation alignment.

2021-07-20 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/include/clang/AST/DeclObjC.h:208 const ParmVarDecl *const *getParams() const { -return reinterpret_cast(ParamsAndSelLocs); +return const_cast(Params); } simon_tatham wrote: > tmatheson wrote: > >

[PATCH] D105492: [clang] Introduce SourceLocation::[U]IntTy typedefs.

2021-07-21 Thread Simon Tatham via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG21401a72629c: [clang] Introduce SourceLocation::[U]IntTy typedefs. (authored by simon_tatham). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes.

2021-07-21 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a subscriber: lattner. simon_tatham added a comment. In D105491#2891860 , @dexonsmith wrote: > although it'd be good to get someone more involved in lib/CodeGen to take a > quick look / sign off (ideally someone that knows the use cas

[PATCH] D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes.

2021-07-22 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. @lattner, thanks for the help. In this case, the real question is whether there's any use case for `!srcloc` that involves writing it out into a bitcode or IR file and then having a separate instance of clang load it back in again. I think that no such case can pos

[PATCH] D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes.

2021-07-22 Thread Simon Tatham via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. simon_tatham marked an inline comment as done. Closed by commit rGbd41136746a0: [clang] Use i64 for the !srcloc metadata on asm IR nodes. (authored by simon_tatham). C

[PATCH] D105491: [clang] Use i64 for the !srcloc metadata on asm IR nodes.

2021-07-22 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. (But I've pushed this patch anyway, because I'm reasonably confident of the answer; if it turns out that there's some case along those lines that I should have taken care of, I'll fix or revert.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION h

[PATCH] D105495: [clang] Make negative getLocWithOffset widening-safe.

2021-07-27 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham updated this revision to Diff 361957. simon_tatham edited the summary of this revision. simon_tatham added a comment. In D105495#2882628 , @tmatheson wrote: > I also think it's the caller's responsibility to make sure what they pass in > is

[PATCH] D105495: [clang] Make negative getLocWithOffset widening-safe.

2021-07-27 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/lib/CodeGen/CoverageMappingGen.cpp:236 if (Loc.isMacroID()) - return Loc.getLocWithOffset(-SM.getFileOffset(Loc)); + return Loc.getLocWithOffset(0, SM.getFileOffset(Loc)); return SM.getLocForStartOfFile(SM.

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-21 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham accepted this revision. simon_tatham added a comment. This revision is now accepted and ready to land. Whereas I'm familiar with this code but not with the opaque-pointers effort, so I had to look up the //other// half of what was going on :-) If I've understood this correctly, the

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-21 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/utils/TableGen/MveEmitter.cpp:1197 +const Type *Ty = nullptr; +if (auto *DI = dyn_cast(D->getArg(0))->getOperator()) + if (auto *PTy = dyn_cast(getType(DI, Param))) dblaikie wrote: > nikic wrote:

[PATCH] D119720: [ARM] Pass for Cortex-A57 and Cortex-A72 Fused AES Erratum

2022-04-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp:12-19 +// The intention is this: +// - Any 128-bit or 64-bit writes to the neon input register of an AES fused +// pair are safe (the inputs are to the AESE/AESD instruction).

[PATCH] D119199: replace clang LLVM_ENABLE_PLUGINS -> CLANG_PLUGIN_SUPPORT in tests

2022-02-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Hi. This commit seems to have broken the following cmake command, on Windows (with HEAD pointing at 76cad51ba700233d6e3492eddcbb466b6adbc2eb ): cmake -DLLVM_ENABLE_PROJECTS=clang -DLLVM_EXPORT_S

[PATCH] D119199: replace clang LLVM_ENABLE_PLUGINS -> CLANG_PLUGIN_SUPPORT in tests

2022-02-11 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added inline comments. Comment at: clang/tools/driver/CMakeLists.txt:53 # Support plugins. if(CLANG_PLUGIN_SUPPORT) export_executable_symbols_for_plugins(clang) I think we've managed to fix our build by changing this line so that it tests ```if(

[PATCH] D119591: clang-analyzer plugins require LLVM_ENABLE_PLUGINS also

2022-02-14 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. I gave this patch a test against our downstream code, and found that it doesn't stop me needing the change I suggested in D119199 : in `clang/tools/driver/CMakeLists.txt`, I had to change if(CLANG_PLUGIN_SUPPORT) export_exec

[PATCH] D119591: clang-analyzer plugins require LLVM_ENABLE_PLUGINS also

2022-02-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. I ran another test of this patch, by trying the cross product of the following cmake configuration choices (on a build targeting Windows, with `LLVM_ENABLE_PROJECTS=clang`): - `LLVM_EXPORT_SYMBOLS_FOR_PLUGINS` set to each of `ON` and `OFF` - `CLANG_BUILD_EXAMPLES`

[PATCH] D119591: clang-analyzer plugins require LLVM_ENABLE_PLUGINS also

2022-02-16 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham accepted this revision. simon_tatham added a comment. This revision is now accepted and ready to land. LGTM this time. Thanks very much for the rework! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119591/new/ https://reviews.llvm.org/

[PATCH] D12669: [libcxxabi] Fix alignment of pointers returned by fallback_malloc

2022-07-15 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. I don't know if "silence implies no objection" is a reasonable assumption in this community, so for the sake of not treading on toes, I've put my revised version of the patch in a new location instead: D129842 . CHANGES SINCE LAS

[PATCH] D119720: [ARM] Pass for Cortex-A57 and Cortex-A72 Fused AES Erratum

2022-05-13 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham accepted this revision. simon_tatham added a comment. Thanks, that explanation looks fine. (And I agree that re-paragraphing it made more sense than my version) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119720/new/ https://reviews

[PATCH] D67159: [clang] New __attribute__((__clang_builtin)).

2019-09-04 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: dmgreen, miyuki, ostannard. Herald added a project: clang. Herald added a subscriber: cfe-commits. This allows you to declare a function with a name of your choice (say `foo`), but have clang treat it as if it were a builtin functio

[PATCH] D67160: [clang, ARM] Default to -fno-lax-vector-conversions in ARM v8.1-M.

2019-09-04 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham created this revision. simon_tatham added reviewers: dmgreen, miyuki, ostannard. Herald added subscribers: cfe-commits, kristof.beyls, javed.absar. Herald added a project: clang. The ACLE intrinsics for the MVE instruction set have polymorphic variants: you can write vaddq(v,w) and ha

[PATCH] D67159: [clang] New __attribute__((__clang_builtin)).

2019-09-04 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham added a comment. Sorry about that – I didn't want to put the discussion of rationale in too many different places. The commit message for the followup patch D67161 discusses it a bit. The usual thing in previous intrinsics systems like NEON is that

[PATCH] D67159: [clang] New __attribute__((__clang_builtin)).

2019-09-05 Thread Simon Tatham via Phabricator via cfe-commits
simon_tatham marked 2 inline comments as done. simon_tatham added a comment. On the general discomfort with this attribute existing: I'd be happy to lock it down, or mark it as "not recommended" in some way, if that's any help. I don't personally intend any use of it outside a single system head

  1   2   3   4   >