summaryrefslogtreecommitdiffstats
path: root/clang/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* Removing the SourceLocation unused attribute argument type.Aaron Ballman2013-12-191-10/+0
| | | | llvm-svn: 197707
* Refactor the Microsoft inheritance attribute handling so that it no longer ↵Aaron Ballman2013-12-181-16/+1
| | | | | | 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
* Allow target-specific attributes to share a spelling between different ↵Aaron Ballman2013-12-151-30/+46
| | | | | | | | | | 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
* Enhance attribute machinery to include ObjCProtocols as "subjects" in ↵Ted Kremenek2013-12-101-1/+4
| | | | | | attribute declarations. llvm-svn: 196954
* [AArch64 NEON] Support poly128_t and implement relevant intrinsic.Kevin Qin2013-12-101-2/+40
| | | | llvm-svn: 196888
* Implemented vget/vset_lane_f16 intrinsicsAna Pazos2013-12-051-2/+33
| | | | llvm-svn: 196535
* Correct hyphenations in comments and assert messagesAlp Toker2013-12-051-2/+2
| | | | | | | This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities in nearby lines. llvm-svn: 196466
* Typo caught by Alp Toker: s/appertain/appertainsAaron Ballman2013-12-031-1/+1
| | | | llvm-svn: 196273
* [AArch64]Add missing floating point convert, round and misc intrinsics.Hao Liu2013-12-031-1/+2
| | | | | | E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn llvm-svn: 196211
* revert r196152. Hao Liu2013-12-031-14/+8
| | | | | | | | | | | | | | 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
* Add some missing AArch64 Neon intrinsics like vmull_high_n_s16 and friends.Jiangning Liu2013-12-031-0/+48
| | | | llvm-svn: 196189
* [AArch64] Add missing NEON scalar floating-point to integer convert ACLEs.Chad Rosier2013-12-021-8/+14
| | | | llvm-svn: 196152
* Rectifying style issues with generated code. No functional change intended.Aaron Ballman2013-12-021-4/+4
| | | | llvm-svn: 196142
* Automate attribute language option checking by specifying the list of ↵Aaron Ballman2013-12-021-1/+52
| | | | | | options to test in tablegen. llvm-svn: 196138
* Re-enabled support for the Subjects for the weak attribute. This changes the ↵Aaron Ballman2013-12-021-0/+6
| | | | | | 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
* Using the proper set key when determining whether a SubsetSubject helper ↵Aaron Ballman2013-12-021-2/+3
| | | | | | method has been previously generated. llvm-svn: 196103
* Fixes a possible assert in the custom SubsetSubject logic for the attr emitter.Aaron Ballman2013-11-291-2/+3
| | | | llvm-svn: 195962
* Enables support for custom subject lists for attributes. As a testbed, uses ↵Aaron Ballman2013-11-291-10/+53
| | | | | | the custom subject for the ibaction attribute. llvm-svn: 195960
* AArch64: Two intrinsics are expected to return float64 not float32 in arm_neon.hHao Liu2013-11-291-3/+8
| | | | llvm-svn: 195943
* Fix the problem that the range check for scalar narrow shift is too wide.Hao Liu2013-11-291-2/+6
| | | | | | E.g. the immediate value of vshrns_n_s16 is [1,16], which should be [1,8]. llvm-svn: 195942
* Renaming Struct to GenericRecord for clarity; could not use Record as the ↵Aaron Ballman2013-11-271-6/+6
| | | | | | enumerant because that's already taken by the Record class. llvm-svn: 195875
* Automated checking for C++ when determining what argument to send to the ↵Aaron Ballman2013-11-271-2/+6
| | | | | | 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
* Fix the AArch64 NEON bug exposed by checking constant integer argument range ↵Jiangning Liu2013-11-271-9/+16
| | | | | | of ACLE intrinsics. llvm-svn: 195844
* Laying the basic groundwork for table generating the diagnostics for ↵Aaron Ballman2013-11-271-9/+175
| | | | | | | | | | | | 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
* Remove a whole lot of unused variablesAlp Toker2013-11-271-2/+0
| | | | | | | There are about 30 removed in this patch, generated by a new FixIt I haven't got round to submitting yet. llvm-svn: 195814
* Remove 'DistinctSpellings' support from Attr.td and change its only user toRichard Smith2013-11-271-56/+27
| | | | | | | | 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
* ARM: define & use __ARM_NEON on ARM32 (as per ACLE)Tim Northover2013-11-211-1/+1
| | | | | | | | | 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
* Implemented Neon scalar by element intrinsics.Ana Pazos2013-11-211-4/+58
| | | | | | | Intrinsics implemented: vqdmull_lane, vqdmulh_lane, vqrdmulh_lane, vqdmlal_lane, vqdmlsl_lane scalar Neon intrinsics. llvm-svn: 195326
* Implemented DefaultIntArgument in the table generator and start using it in ↵Aaron Ballman2013-11-211-2/+22
| | | | | | semantic analysis. Removes some magic numbers. llvm-svn: 195287
* Add predicate for AArch64 crypto instructions.Jiangning Liu2013-11-191-0/+20
| | | | llvm-svn: 195069
* Clean up predefined macros for AArch64 to follow ACLE 2.0.Jiangning Liu2013-11-191-1/+1
| | | | llvm-svn: 195068
* Implement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors.Hao Liu2013-11-181-1/+15
| | | | | | The functions are like: vst1_s8_x2 ... llvm-svn: 194991
* Implemented aarch64 Neon scalar vmulx_lane intrinsicsAna Pazos2013-11-151-3/+86
| | | | | | | | | | | | | | 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
* [AArch64 neon] support poly64 and relevant intrinsic functions.Kevin Qin2013-11-141-10/+21
| | | | llvm-svn: 194660
* Implement aarch64 neon instruction class misc.Kevin Qin2013-11-141-1/+69
| | | | llvm-svn: 194657
* Implement AArch64 NEON instruction set AdvSIMD (table).Jiangning Liu2013-11-141-11/+28
| | | | llvm-svn: 194649
* Documentation parsing: add support for \throws \throw \exception commandsDmitri Gribenko2013-11-121-0/+1
| | | | llvm-svn: 194521
* Rather than duplicating extension diagnostics to allow them to cause aRichard Smith2013-11-121-20/+7
| | | | | | | | | | 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
* [AArch64] Add support for NEON scalar floating-point convert to fixed-point ↵Chad Rosier2013-11-111-2/+6
| | | | | | instructions. llvm-svn: 194395
* Implement AArch64 Neon instruction set Perm.Jiangning Liu2013-11-061-0/+48
| | | | llvm-svn: 194124
* Implemented aarch64 neon intrinsic vcopy_lane with float type.Kevin Qin2013-11-051-5/+23
| | | | llvm-svn: 194042
* Attributes which accept a type as their sole argument are no longer hard ↵Aaron Ballman2013-11-043-0/+40
| | | | | | coded into the parser. Instead, they are automatically listed through tablegen. llvm-svn: 193989
* Store a TypeArgument on an attribute as a TypeSourceInfo*, rather than as aRichard Smith2013-10-311-7/+31
| | | | | | QualType with a SourceLocation stashed alongside. llvm-svn: 193803
* [AArch64] Add support for NEON scalar shift immediate instructions.Chad Rosier2013-10-311-0/+31
| | | | llvm-svn: 193791
* [AArch64] Add support for NEON scalar floating-point compare instructions.Chad Rosier2013-10-301-0/+2
| | | | llvm-svn: 193692
* PR17666: Instead of allowing an initial identifier argument in any attributeRichard Smith2013-10-243-42/+35
| | | | | | | | | | | | which we don't think can't have one, only allow it in the tiny number of attributes which opts into this weird parse rule. I've manually checked that the handlers for all these attributes can in fact cope with an identifier as the argument. This is still somewhat terrible; we should move more fully towards picking the parsing rules based on the attribute, and make the Parse -> Sema interface more type-safe. llvm-svn: 193295
* [AArch64] Add support for NEON scalar extract narrow instructions.Chad Rosier2013-10-181-0/+6
| | | | llvm-svn: 192971
* Implemented aarch64 SIMD copy related ACLE intrinsic :Kevin Qin2013-10-111-5/+25
| | | | | | vget_lane, vset_lane, vcopy_lane, vcreate, vdup_n, vdup_lane, vmov_n. llvm-svn: 192411
* [AArch64] Add support for NEON scalar signed/unsigned integer to floating-pointChad Rosier2013-10-081-0/+7
| | | | | | convert instructions. llvm-svn: 192232
* Implement aarch64 neon instruction set AdvSIMD (Across).Jiangning Liu2013-10-051-4/+12
| | | | llvm-svn: 192029
OpenPOWER on IntegriCloud