summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
Commit message (Collapse)AuthorAgeFilesLines
...
* NetBSD 6.99.26 switched to default rounding mode, so adjustJoerg Sonnenberger2013-11-111-1/+6
| | | | | | | __FLT_EVAL_METHOD__ accordingly. Add test case for this and the SSE2 variances on NetBSD. llvm-svn: 194377
* Include non-explicit submodules in exported module listDmitri Gribenko2013-11-041-0/+10
| | | | | | | | | | | | | | | | This change fixes Richard's testcase for r193815. Now we include non-explicit submodules into the list of exports. The test failed previously because: - recursive_visibility_a1.inner is not imported (only recursive_visibility_a1 is), - thus the 'inner' submodule is not showing up in any of the import lists, - and because of this getExportedModules() is not returning the correct module set -- it only considers modules that are imported. The fix is to make Module::getExportedModules() include non-explicit submodules into the list of exports. llvm-svn: 194018
* Driver: Add support for -march=bdver3 on x86.Benjamin Kramer2013-11-041-0/+7
| | | | llvm-svn: 193985
* Simplify computation of visible module set.Richard Smith2013-11-011-14/+5
| | | | llvm-svn: 193850
* Clang modules: collect exports recursivelyDmitri Gribenko2013-10-311-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes Module::buildVisibleModulesCache() collect exported modules recursively. While computing a set of exports, getExportedModules() iterates over the set of imported modules and filters it. But it does not consider the set of exports of those modules -- it is the responsibility of the caller to do this. Here is a certain instance of this issue. Module::isModuleVisible says that CoreFoundation.CFArray submodule is not visible from Cocoa. Why? - Cocoa imports Foundation. - Foundation has an export restriction: "export *". - Foundation imports CoreFoundation. (Just the top-level module.) - CoreFoundation exports CoreFoundation.CFArray. To decide which modules are visible from Cocoa, we collect all exported modules from immediate imports in Cocoa: > visibleModulesFro(Cocoa) = exported(Foundation) + exported(CoreData) + exported(AppKit) To find out which modules are exported, we filter imports according to restrictions: > exported(Foundation) = filterByModuleMapRestrictions(imports(Foundation)) Because Foundation imports CoreFoundation (not CoreFoundation.CFArray), the CFArray submodule is considered not exported from Foundation, and is not visible from Cocoa (according to Module::isModuleVisible). llvm-svn: 193815
* [AArch64] Add some CPU targets for "generic", A-53 and A-57.Amara Emerson2013-10-311-0/+7
| | | | | | | | | | Enables the clang driver to begin targeting specific CPUs. Introduced a "generic" CPU which will ensure that the optional FP feature is enabled by default when it gets to LLVM, without needing any extra arguments. Cortex-A53 and A-57 are also introduced with tests, although backend handling of them does not yet exist. llvm-svn: 193740
* [mips] Delete unused functions.Akira Hatanaka2013-10-301-10/+0
| | | | llvm-svn: 193674
* [mips] Align the stack to 16-bytes for -mfp64.Akira Hatanaka2013-10-291-6/+27
| | | | llvm-svn: 193640
* [mips] Move setDescriptionString to base class MipsTargetInfoBase and call itAkira Hatanaka2013-10-291-21/+29
| | | | | | | | at the end of handleTargetFeatures. No intended functionality change. llvm-svn: 193636
* R600: Add Sea Islands GPUsTom Stellard2013-10-291-1/+6
| | | | llvm-svn: 193622
* ARM: Add -m[no-]crc to dis/enable CRC subtargetfeature from clangBernard Ogden2013-10-291-1/+7
| | | | | | | | Allow users to disable or enable CRC subtarget feature. Differential Revision: http://llvm-reviews.chandlerc.com/D2037 llvm-svn: 193600
* Allow a new syntax in a module requires-declaration:Richard Smith2013-10-281-11/+17
| | | | | | | | | | | | requires ! feature The purpose of this is to allow (for instance) the module map for /usr/include to exclude <tgmath.h> and <complex.h> when building in C++ (these headers are instead provided by the C++ standard library in this case, and the glibc C <tgmath.h> header would otherwise try to include <complex.h>, resulting in a module cycle). llvm-svn: 193549
* Add driver support for FP, SIMD and crypto defaults.Bernard Ogden2013-10-241-6/+13
| | | | | | | | | Although we wire up a bit for v8fp for macro setting purposes, we don't set a macro yet. Need to ask list about that. Change-Id: Ic9819593ce00882fbec72757ffccc6f0b18160a0 llvm-svn: 193367
* Clean up char/numeric comparisons in ARM getTargetDefinesBernard Ogden2013-10-241-6/+9
| | | | | Change-Id: Ie07228411b68252adcd5cf80b27ccd2eb3b031d9 llvm-svn: 193366
* Teach clang driver about Cortex-A53 and Cortex-A57.Bernard Ogden2013-10-241-1/+2
| | | | | | | | | | | Adds some Cortex-A53 strings where they were missing before. Cortex-A57 is entirely new to clang. Doesn't touch code only used by Darwin, in consequence of which one of the A53 lines has been removed. Change-Id: I5edb58f6eae93947334787e26a8772c736de6483 llvm-svn: 193364
* ARM-Darwin: Use the *-*-darwin-eabi triple for v6m & v7m archsTim Northover2013-10-241-1/+3
| | | | | | | These arch arguments are used for embedded targets (obviously) which need a different calling convention to iOS. llvm-svn: 193328
* Set the default hardware division features for ARM cpus. Also set it as ↵Silviu Baranga2013-10-211-2/+17
| | | | | | default for A32 armv8. llvm-svn: 193075
* Add the __ARM_ARCH_EXT_IDIV__ predefine. It is set to 1 if we have hardware ↵Silviu Baranga2013-10-211-0/+16
| | | | | | divide in the mode that we are compiling in (depending on the target features), not defined if we don't. Should be compatible with the GCC conterpart. Also adding a -hwdiv option to overide the default behavior. llvm-svn: 193074
* [Mips] Define __mips_fpr and _MIPS_FPSET macros.Simon Atanasyan2013-10-181-1/+11
| | | | llvm-svn: 192969
* Rename HandleTargetFeatures->handleTargetFeatures to matchEric Christopher2013-10-161-11/+11
| | | | | | everything else in the class. llvm-svn: 192851
* Add preprocessor support for powerpc vsx.Eric Christopher2013-10-161-2/+34
| | | | | | The test should be expanded upon for more powerpc checking. llvm-svn: 192849
* Fix comments.Eric Christopher2013-10-161-2/+2
| | | | llvm-svn: 192847
* Enabling 3DNow! prefetch instruction support for a few AMD processors in theYunzhong Gao2013-10-161-0/+11
| | | | | | | | | | clang front end. This change will allow the __PRFCHW__ macro to be set on these processors and hence include prfchwintrin.h in x86intrin.h header. Support for the intrinsic itself seems to have already been added in r178041. Differential Revision: http://llvm-reviews.chandlerc.com/D1934 llvm-svn: 192829
* ObjectiveC migrator: For 'default' and 'shared' family ofFariborz Jahanian2013-10-101-3/+3
| | | | | | | methods, infer their self's type as their result type. // rdar://15145218 llvm-svn: 192377
* ObjectiveC migrator: A typical implementation ofFariborz Jahanian2013-10-071-1/+0
| | | | | | | | 'default' methods in Foundation does not infer 'instancetype' for methods' result type. // rdar://15145218 llvm-svn: 192129
* Add support for -mcx16, and predefine __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 whenNick Lewycky2013-10-051-2/+25
| | | | | | it is enabled. Also enable it on the same architectures that GCC does. llvm-svn: 192045
* Revert commits r190613, r190560 and r190557.Rafael Espindola2013-10-011-26/+30
| | | | | | The added a cmake invocation to null builds, making them a lot slower. llvm-svn: 191784
* [OpenMP] Added parsing and semantic analysis for firstprivate clauseAlexey Bataev2013-10-011-0/+2
| | | | llvm-svn: 191730
* Fix PR 12730: Add _GCC_HAVE_SYNC_COMPARE_AND_SWAP macros for ARMWeiming Zhao2013-09-301-0/+7
| | | | llvm-svn: 191707
* Add character set related __STDC_* definitions.Ed Schouten2013-09-291-0/+5
| | | | | | | | | | | | | Clang uses UTF-16 and UTF-32 for its char16_t's and char32_t's exclusively. This means that we can define __STDC_UTF_16__ and __STDC_UTF_32__ unconditionally. While there, define __STDC_MB_MIGHT_NEQ_WC__ for FreeBSD. FreeBSD's wchar_t's don't encode characters as ISO-10646; the encoding depends on the locale used. Because the character set used might not be a superset of ASCII, we must define __STDC_MB_MIGHT_NEQ_WC__. llvm-svn: 191631
* SourceManager: Open code isInMainFile.Benjamin Kramer2013-09-271-0/+30
| | | | | | | | | - We really shouldn't compute line numbers for every file that is asked if it's the main file, it destroys the lazy computation. - Invalid locations are no longer accounted to the main file, no other functionality change. llvm-svn: 191535
* Adding -mtbm and -mno-tbm command line options to the clang front end for theYunzhong Gao2013-09-241-2/+13
| | | | | | | | | x86 TBM instruction set. Also adding a __TBM__ macro if the TBM feature is enabled. Otherwise there should be no functionality change to existing features. Phabricator code review is located here: http://llvm-reviews.chandlerc.com/D1693 llvm-svn: 191326
* Module use declarations (II)Daniel Jasper2013-09-241-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Review: http://llvm-reviews.chandlerc.com/D1546. I have picked up this patch form Lawrence (http://llvm-reviews.chandlerc.com/D1063) and did a few changes. From the original change description (updated as appropriate): This patch adds a check that ensures that modules only use modules they have so declared. To this end, it adds a statement on intended module use to the module.map grammar: use module-id A module can then only use headers from other modules if it 'uses' them. This enforcement is off by default, but may be turned on with the new option -fmodules-decluse. When enforcing the module semantics, we also need to consider a source file part of a module. This is achieved with a compiler option -fmodule-name=<module-id>. The compiler at present only applies restrictions to the module directly being built. llvm-svn: 191283
* [Mips] Support -mnan=2008 option. Define "__mips_nan2008" macros and passSimon Atanasyan2013-09-241-3/+13
| | | | | | this option to the assembler. llvm-svn: 191282
* [Mips] Allocate NaClTargetInfo for MIPSEL NaClPetar Jovanovic2013-09-211-0/+2
| | | | | | | | A patch to AllocateTarget function to recognize llvm::Triple::NaCl for MIPSEL and return NaClTargetInfo. Additional test has been added to check if the expected macros get defined. llvm-svn: 191124
* Add C intrinsics for Intel SHA ExtensionsBen Langmuir2013-09-191-2/+16
| | | | | | | | | Intrinsics added shaintrin.h, which is included from x86intrin.h if __SHA__ is enabled. SHA implies SSE2, which is needed for the __m128i type. Also add the -msha/-mno-sha option. llvm-svn: 190999
* Use curly braces all the way through long if/else chain for consistency and ↵Craig Topper2013-09-191-14/+14
| | | | | | readability. llvm-svn: 190982
* Disabling sse2 should disable aes and pclmul support.Craig Topper2013-09-191-1/+1
| | | | llvm-svn: 190977
* ObjectiveC migrator: For consistency, also inferFariborz Jahanian2013-09-181-0/+2
| | | | | | | | 'instancetype' for known family of methods with related result type; such as 'init' methods. // rdar://14987948 llvm-svn: 190956
* [ARMv8] Add builtins for CRC instructions.Joey Gouly2013-09-181-0/+3
| | | | | | Patch by Bradley Smith! llvm-svn: 190931
* Push contents of X86TargetInfo::setFeatureEnabled down to a static function ↵Craig Topper2013-09-171-85/+89
| | | | | | called by the virtual version and all the places in getDefaultFeatures. This way getDefaultFeatures doesn't make so many virtual calls. llvm-svn: 190847
* Mark setSSELevel/setMMXLevel/setXOPLevel as static since they don't access ↵Craig Topper2013-09-171-9/+9
| | | | | | anything in the class. llvm-svn: 190846
* Add error checking to reject neon_vector_type attribute on targets without NEON.Amara Emerson2013-09-161-3/+1
| | | | | | Patch by Artyom Skrobov. llvm-svn: 190801
* Add a define for the ObjFW runtime ABI version.Benjamin Kramer2013-09-161-2/+6
| | | | | | | | | This removes __has_feature(objc_msg_lookup_stret), as it is not required anymore after this patch. Patch by Jonathan Schleifer! llvm-svn: 190791
* Make F16C feature imply AVX. Matches GCC behavior.Craig Topper2013-09-161-1/+4
| | | | llvm-svn: 190776
* Clean up some Triple usage in clang.Cameron Esfahani2013-09-141-2/+2
| | | | llvm-svn: 190737
* Update Atom Silvermont (SLM) support by adding enabled features.Preston Gurd2013-09-131-5/+9
| | | | llvm-svn: 190718
* Add more Cortex CPUs and testsRenato Golin2013-09-131-4/+5
| | | | llvm-svn: 190703
* Fix Neon detection for Cortex-A class, plus adds some more CPUs to default ↵Renato Golin2013-09-131-5/+8
| | | | | | features llvm-svn: 190702
* Certain multi-platform languages, such as OpenCL, have the concept ofDavid Tweed2013-09-132-0/+5
| | | | | | | | | | | | | | address spaces which is both (1) a "semantic" concept and (2) possibly a hardware level restriction. It is desirable to be able to discard/merge the LLVM-level address spaces on arguments for which there is no difference to the current backend while keeping track of the semantic address spaces in a funciton prototype. To do this enable addition of the address space into the name-mangling process. Add some tests to document this behaviour against inadvertent changes. Patch by Michele Scandale! llvm-svn: 190684
OpenPOWER on IntegriCloud