summaryrefslogtreecommitdiffstats
path: root/clang/utils
Commit message (Collapse)AuthorAgeFilesLines
...
* CMake separate projects: finish output-directory changes.Douglas Gregor2014-01-021-0/+1
| | | | | | | Make sure clang-tblgen, clang++, and clang-cl get created in the Clang binary build directory. llvm-svn: 198331
* Update DataRecursiveASTVisitor so that it visits attributes.DeLesley Hutchins2013-12-301-2/+2
| | | | llvm-svn: 198249
* Update RecursiveASTVisitor so that it visits attributes. This is currentlyDeLesley Hutchins2013-12-303-0/+107
| | | | | | | | 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
* Teach the diagnostics engine about the Attr type to make reporting on ↵Aaron Ballman2013-12-261-0/+25
| | | | | | 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
* Reverting r197715 -- it appears that MSVC is happy with the code, but clang ↵Aaron Ballman2013-12-191-52/+24
| | | | | | is not. llvm-svn: 197716
* No longer leaking Argument objects after calling createArgument. However, ↵Aaron Ballman2013-12-191-24/+52
| | | | | | 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
* 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
OpenPOWER on IntegriCloud