| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
the parsed attributes are responsible for knowing their target-specific nature, instead of letting Sema figure it out. This is necessary so that __has_attribute can eventually determine whether a parsed attribute applies to the given target or not.
llvm-svn: 198896
|
|
|
|
|
|
|
|
|
|
|
| |
To declare or define reserved identifers is undefined behaviour in standard
C++. This needs to be addressed in compiler-rt before it can be used in LLVM.
See the list discussion for details.
This reverts commit r198858.
llvm-svn: 198885
|
|
|
|
|
|
| |
analysis APIs. Now using tablegen to determine whether an attribute's arguments should be parsed in an unevaluated context instead of relying on a separate, hard-coded list of attributes.
llvm-svn: 198883
|
|
|
|
| |
llvm-svn: 198858
|
|
|
|
|
|
|
| |
encodes the canonical rules for LLVM's style. I noticed this had drifted
quite a bit when cleaning up LLVM, so wanted to clean up Clang as well.
llvm-svn: 198686
|
|
|
|
|
|
| |
the first place. Replaced the unsafe code with the proper accessor.
llvm-svn: 198569
|
|
|
|
|
|
|
| |
Make sure clang-tblgen, clang++, and clang-cl get created in the Clang
binary build directory.
llvm-svn: 198331
|
|
|
|
| |
llvm-svn: 198249
|
|
|
|
|
|
|
|
| |
important for thread safety attributes, which contain expressions that were
not being visited, and were thus invisible to various tools. There are now
Visit*Attr methods that can be overridden for every attribute.
llvm-svn: 198224
|
|
|
|
|
|
| |
semantic attributes easier (and not require hard-coded strings). This requires a getSpelling() function on the Attr class, which is table-driven. Updates a handful of cases where a hard-coded string was being used to test the functionality out. Updating associated test cases for the improved quoting.
llvm-svn: 198055
|
|
|
|
|
|
| |
is not.
llvm-svn: 197716
|
|
|
|
|
|
| |
since an OwningPtr cannot live in a std::vector yet, there are some manual deletions that have a FIXME attached to them. These will go away once C++11 support is allowed.
llvm-svn: 197715
|
|
|
|
| |
llvm-svn: 197707
|
|
|
|
|
|
| |
has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes.
llvm-svn: 197629
|
|
|
|
|
|
|
|
|
|
| |
attributes via the ParseKind field. Attributes will be given a common parsed attribute identifier (the AttributeList::AT_* enum), but retain distinct Attr subclasses.
This new functionality is used to implement the ARM and MSP430 interrupt attribute.
Patch reviewed by Richard Smith over IRC.
llvm-svn: 197343
|
|
|
|
|
|
| |
attribute declarations.
llvm-svn: 196954
|
|
|
|
| |
llvm-svn: 196888
|
|
|
|
| |
llvm-svn: 196535
|
|
|
|
| |
llvm-svn: 196273
|
|
|
|
|
|
| |
E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn
llvm-svn: 196211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a duplicate implementation.
E.g. this patch defines:
float64_t vabd_f64(float64_t a, float64_t b)
But there is already a similar intrinsic "vabdd_f64" with the same types.
Also, this intrinsic will be conflicted to the vector type intrinsic as following(Which is implemented by me and will be committed to trunk):
float64x1_t vabd_f64(float64x1_t a, float64x1_t b).
Two functions shouldn't have a same name in arm_neon.h.
According to ARM ACLE document, such vabd_f64 with float64_t is not existing.
So I revert this commit.
llvm-svn: 196205
|
|
|
|
| |
llvm-svn: 196189
|
|
|
|
| |
llvm-svn: 196152
|
|
|
|
| |
llvm-svn: 196142
|
|
|
|
|
|
| |
options to test in tablegen.
llvm-svn: 196138
|
|
|
|
|
|
| |
diagnostic involved to be more accurate -- for C++ code, it will now report that weak applies to variables, functions or classes. Added additional test case for this.
llvm-svn: 196120
|
|
|
|
|
|
| |
method has been previously generated.
llvm-svn: 196103
|
|
|
|
| |
llvm-svn: 195962
|
|
|
|
|
|
| |
the custom subject for the ibaction attribute.
llvm-svn: 195960
|
|
|
|
| |
llvm-svn: 195943
|
|
|
|
|
|
| |
E.g. the immediate value of vshrns_n_s16 is [1,16], which should be [1,8].
llvm-svn: 195942
|
|
|
|
|
|
| |
enumerant because that's already taken by the Record class.
llvm-svn: 195875
|
|
|
|
|
|
| |
diagnostic for attribute subjects. In turn, this allows the Subjects to be enabled for some more attributes and improves diagnostics. Updated a test case based on the improved diagnostic.
llvm-svn: 195864
|
|
|
|
|
|
| |
of ACLE intrinsics.
llvm-svn: 195844
|
|
|
|
|
|
|
|
|
|
|
|
| |
attribute subjects. This makes some modifications to the way subjects are listed in Attr.td, and updates the attr emitter to handle the new constructs.
I have disabled some attribute subject lines on purpose in Attr.td;
this part is a WIP with the goal being to restore those subjects
incrementally. By commenting them out, it leaves the original behavior
the same as before for those attributes and so those are not
functionality changes.
llvm-svn: 195841
|
|
|
|
|
|
|
| |
There are about 30 removed in this patch, generated by a new FixIt I haven't
got round to submitting yet.
llvm-svn: 195814
|
|
|
|
|
|
|
|
| |
look at the attribute spelling instead. The 'ownership_*' attributes should
probably be split into separate *Attr classes, but that's more than I wanted to
do here.
llvm-svn: 195805
|
|
|
|
|
|
|
|
|
| |
There seem to be quite a few references to the old macro __ARM_NEON__ on the
internet, so I don't think it's a good idea to remove it entirely (at least
yet), but the canonical name does not have the trailing underscores so we
should use that ourselves.
llvm-svn: 195353
|
|
|
|
|
|
|
| |
Intrinsics implemented: vqdmull_lane, vqdmulh_lane, vqrdmulh_lane,
vqdmlal_lane, vqdmlsl_lane scalar Neon intrinsics.
llvm-svn: 195326
|
|
|
|
|
|
| |
semantic analysis. Removes some magic numbers.
llvm-svn: 195287
|
|
|
|
| |
llvm-svn: 195069
|
|
|
|
| |
llvm-svn: 195068
|
|
|
|
|
|
| |
The functions are like: vst1_s8_x2 ...
llvm-svn: 194991
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implemented aarch64 Neon scalar vfma_lane intrinsics
Implemented aarch64 Neon scalar vfms_lane intrinsics
Implemented legacy vmul_n_f64, vmul_lane_f64, vmul_laneq_f64
intrinsics (v1f64 parameter type) using Neon scalar instructions.
Implemented legacy vfma_lane_f64, vfms_lane_f64,
vfma_laneq_f64, vfms_laneq_f64 intrinsics (v1f64 parameter type)
using Neon scalar instructions.
llvm-svn: 194889
|
|
|
|
| |
llvm-svn: 194660
|
|
|
|
| |
llvm-svn: 194657
|
|
|
|
| |
llvm-svn: 194649
|
|
|
|
| |
llvm-svn: 194521
|
|
|
|
|
|
|
|
|
|
| |
substitution failure, allow a flag to be set on the Diagnostic object,
to mark it as 'causes substitution failure'.
Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior
rather than a bunch of flags.
llvm-svn: 194444
|
|
|
|
|
|
| |
instructions.
llvm-svn: 194395
|