summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [msan] Unpoison errno in common interceptors.Evgeniy Stepanov2013-10-242-6/+26
| | | | llvm-svn: 193343
* ARM: add a couple more NEON predicates.Tim Northover2013-10-242-5/+16
| | | | | | | | The fused multiply instructions were added in VFPv4 but are still NEON instructions, in particular they shouldn't be available on a Cortex-M4 not matter how floaty it is. llvm-svn: 193342
* ARM: mark various aliases with their architecture requirements.Tim Northover2013-10-244-8/+36
| | | | | | | | | | If an alias inherits directly from InstAlias then it doesn't get any default "Requires" values, so llvm-mc will allow it even on architectures that don't support the underlying instruction. This tidies up the obvious VFP and NEON cases I found. llvm-svn: 193340
* [msan] Fix invalid origin copying.Evgeniy Stepanov2013-10-243-11/+67
| | | | | | | | | | | | | | Origin copying may destroy valid origin info. This is caused by __msan_copy_origin widening the address range to the nearest 4-byte aligned addresses both on the left and on the right. If the target buffer is uninitialized and the source is fully initialized, this will result in overriding valid origin of target buffer with stale (possibly 0) origin of the source buffer. With this change the widened origin is copied only if corresponding shadow values are non zero. llvm-svn: 193338
* [msan] Change wording in the invalid origin message.Evgeniy Stepanov2013-10-241-3/+4
| | | | llvm-svn: 193335
* Added tests for microMIPS relocations 1.Zoran Jovanovic2013-10-243-0/+191
| | | | llvm-svn: 193332
* ARM-Darwin: Use the *-*-darwin-eabi triple for v6m & v7m archsTim Northover2013-10-244-5/+27
| | | | | | | These arch arguments are used for embedded targets (obviously) which need a different calling convention to iOS. llvm-svn: 193328
* ARM: Use non-VFP softcalls on embedded Darwinish targetsTim Northover2013-10-242-1/+23
| | | | | | | | | | | | | The compiler-rt functions __adddf3vfp and so on exist purely to allow Thumb1 code to make use of VFP instructions by switching back to ARM mode, they make no sense for M-class processors which don't even have an ARM mode. Given that justification, in practice this is a platform ABI decision so the actual check is based on that rather than CPU features. rdar://problem/15302004 llvm-svn: 193327
* clang-format: Cleanup array initializer and dict initializer formatting.Daniel Jasper2013-10-245-41/+64
| | | | | | | | Significant changes: - Also recognize these literals with missing "@" for robustness. - Reorganize tests. llvm-svn: 193325
* Replaced non-ASCII character.Yaron Keren2013-10-241-1/+1
| | | | llvm-svn: 193324
* Revert part of r193291, restoring the deletion of loaded objects.Chandler Carruth2013-10-241-0/+9
| | | | | | | | | | | Without this, customers of the MCJIT were leaking memory like crazy. It's not really clear what the *right* memory management is here, so I'm not trying to add lots of tests or other logic, just trying to get us back to a better baseline. I'll follow up on the original commit to figure out the right path forward. llvm-svn: 193323
* ARM: fix assert on unpredictable POP instruction.Tim Northover2013-10-243-8/+9
| | | | | | | | | | | POP instructions are aliased to the ARM LDM variants but have different syntax. This caused two problems: we tried to access a non-existent operand to annotate the '!', and the error message didn't make much sense. With some vigorous hand-waving in the error message both problems can be fixed. llvm-svn: 193322
* Added test for -elf configuration, to see that _alloca call is properly Yaron Keren2013-10-241-9/+16
| | | | | | | | generated. See: http://llvm.org/viewvc/llvm-project?view=revision&revision=193289 llvm-svn: 193321
* Make sure SP is always aligned on a 2 byte boundaryJob Noorman2013-10-242-2/+19
| | | | llvm-svn: 193320
* Teach Clang to accept and ignore -f[no-]implicit-templates.Chandler Carruth2013-10-242-0/+2
| | | | | | | | | | | | | | | | This GCC flag is useful when you want to control whether implicit template instantiation occurs at the commandline level. Clang doesn't currently support such controls, but technically *always* implicitly instantiating (what Clang does, and what every other compiler still in use does by default) is valid behavior even under -fno-implicit-templates, it just may be slow and very wasteful. If people really want this, we can try to implement it, but I don't have an actual use. This should help fix the build of libstdc++ with Clang, its build system uses this flag. llvm-svn: 193319
* Teach Clang to recognize and ignore GCC's -fdiagnostics-show-locationChandler Carruth2013-10-242-0/+5
| | | | | | | | | flag. We should probably wire at least some variants of this up to our actual diagnostics engine, but I'm leaving that for someone else. This fixes the builds of packages which hard code something here, at least including libstdc++ itself. llvm-svn: 193318
* fix PR17635: false positive with packed structuresNuno Lopes2013-10-244-5/+38
| | | | | | LLVM optimizers may widen accesses to packed structures that overflow the structure itself, but should be in bounds up to the alignment of the object llvm-svn: 193317
* [AArch64] Fix NZCV reg live-in bug in F128CSEL codegen.Amara Emerson2013-10-242-2/+23
| | | | | | | | | When generating the IfTrue basic block during the F128CSEL pseudo-instruction handling, the NZCV live-in for the newly created BB wasn't being added. This caused a fault during MI-sched/live range calculation when the predecessor for the fall-through BB didn't have a live-in for phys-reg as expected. llvm-svn: 193316
* Include missing Compiler.h for using LLVM_ENUM_INT_TYPE.Zonr Chang2013-10-241-0/+1
| | | | llvm-svn: 193315
* Use the same SourceManager for ModuleMaps and compilations.Manuel Klimek2013-10-2417-85/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows using virtual file mappings on the original SourceManager to map in virtual module.map files. Without this patch, the ModuleMap search will find a module.map file (as the FileEntry exists in the FileManager), but will be unable to get the content from the SourceManager (as ModuleMap previously created its own SourceManager). Two problems needed to be fixed which this patch exposed: 1. Storing the inferred module map When writing out a module, the ASTWriter stores the names of the files in the main source manager; when loading the AST again, the ASTReader errs out if such a file is found missing, unless it is overridden. Previously CompilerInstance's compileModule method would store the inferred module map to a temporary file; the problem with this approach is that now that the module map is handled by the main source manager, the ASTWriter stores the name of the temporary module map as source to the compilation; later, when the module is loaded, the temporary file has already been deleted, which leads to a compilation error. This patch changes the inferred module map to instead inject a virtual file into the source manager. This both saves some disk IO, and works with how the ASTWriter/ASTReader handle overridden source files. 2. Changing test input in test/Modules/Inputs/* Now that the module map file is handled by the main source manager, the VerifyDiagnosticConsumer will not ignore diagnostics created while parsing the module map file. The module test test/Modules/renamed.m uses -I test/Modules/Inputs and triggers recursive loading of all module maps in test/Modules/Inputs, some of which had conflicting names, thus leading errors while parsing the module maps. Those diagnostics already occur on trunk, but before this patch they would not break the test, as they were ignored by the VerifyDiagnosticConsumer. This patch thus changes the module maps that have been recently introduced which broke the invariant of compatible modules maps in test/Modules/Inputs. llvm-svn: 193314
* Remove dead recursive function.Benjamin Kramer2013-10-241-22/+0
| | | | llvm-svn: 193313
* AVX-512: added VCVTPH2PS, VCVTPS2PH with intrinsicsElena Demikhovsky2013-10-243-0/+56
| | | | llvm-svn: 193312
* Replace sse41/sse42 with sse4.1/sse4.2 in test command lines to fix bots.Craig Topper2013-10-242-2/+2
| | | | llvm-svn: 193311
* Add non-AVX tests for AES intrinsics.Craig Topper2013-10-241-0/+48
| | | | llvm-svn: 193310
* Add tests for SSE intrinsics in non-avx mode by copying from the AVX test ↵Craig Topper2013-10-246-0/+1704
| | | | | | cases. Some of these may have been tested by other tests, but most weren't. Patch by Cameron McInally. llvm-svn: 193309
* Introduce an operator new for LowLevelAllocator, and convert most users to it.Peter Collingbourne2013-10-246-23/+22
| | | | llvm-svn: 193308
* Fix a bug in LinearFunctionTestReplace that created invalid loop exit checks.Juergen Ributzka2013-10-242-1/+33
| | | | | | Reviewed by Andy llvm-svn: 193303
* Fix Comments.Shankar Easwaran2013-10-244-14/+7
| | | | llvm-svn: 193302
* [Driver] Change UniversalDriver to use TD file.Shankar Easwaran2013-10-243-32/+97
| | | | | | | | Easier to add new options such as -version, and easy to parse. Now displays a help message with -help llvm-svn: 193301
* [PassManager] add ReaderWriter{Native,YAML} to the Driver.Shankar Easwaran2013-10-2445-58/+310
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable tests to be run with REQUIRES: disable. Note disable is not added to the config by the test runner Mkaefiles, so essentially disables the test. Code changes would be required to fix these tests :- test/darwin/hello-world.objtxt test/elf/check.test test/elf/phdr.test test/elf/ppc.test test/elf/undef-from-main-dso.test test/elf/X86_64/note-sections-ro_plus_rw.test test/pecoff/alignment.test test/pecoff/base-reloc.test test/pecoff/bss-section.test test/pecoff/drectve.test test/pecoff/dynamic.test test/pecoff/dynamicbase.test test/pecoff/entry.test test/pecoff/hello.test test/pecoff/imagebase.test test/pecoff/importlib.test test/pecoff/lib.test test/pecoff/multi.test test/pecoff/reloc.test test/pecoff/weak-external.test llvm-svn: 193300
* Fixed llvm-cov to count edges instead of blocks.Yuchen Wu2013-10-242-4/+14
| | | | | | | | | | | | | | | | | This was a fundamental flaw in llvm-cov where it treated the values in the GCDA files as block counts instead of edge counts. This created incorrect line counts when branching was present. Instead, the edge counts should be summed to obtain the correct block count. The fix was tested using custom test files as well as single source files from the test-suite directory. The behaviour can be verified by reading the GCOV documentation that describes the GCDA spec ("ARC_COUNTS gives the counter values for those arcs that are instrumented") and the header description provided by GCOVProfiling.cpp ("instruments the code that runs to records (sic) the edges between blocks that run and emit a complementary "gcda" file on exit"). llvm-svn: 193299
* [PECOFF] Support embedding resource file into executable.Rui Ueyama2013-10-242-22/+178
| | | | | | | | | | | | Instead of making the linker to create a manifest XML file in the same directory as the resulting binary, you can embed the XML as a part of resource into the executable. In order to do that, the linker first creates a resource script file containing the XML file, compile it into a binary resource file with RC.EXE, and then convert it to a COFF file with CVTRES.EXE. llvm-svn: 193298
* Support GNU attributes in alias-declarations now that GCC has implemented themRichard Smith2013-10-242-4/+12
| | | | | | and we know where they go. llvm-svn: 193297
* Fix a test file option from -emit-llvm -o to -emit-llvm-only.Faisal Vali2013-10-241-1/+1
| | | | | | As requested by Rafael Espindola here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131021/091556.html llvm-svn: 193296
* PR17666: Instead of allowing an initial identifier argument in any attributeRichard Smith2013-10-249-73/+89
| | | | | | | | | | | | 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
* Fix an instantiation bug with nested generic lambdas and conversion to fptrs.Faisal Vali2013-10-242-41/+151
| | | | | | | | | | | | | | | | | This patch fixes the typelocs of the conversion-operator and the conversion-operator-name and adds the parameters of the call operator to the FunctionProtoTypeLoc of the respective entities. Thus, when the template declarations (conversion operators) undergo deduction and instantiation/transformation/substitution - they add themselves to the local instantiation scope if needed. This patch supports the following: auto L = [](auto b) { return [](auto a) ->decltype(a) { return a; }; }; int (*fp)(int) = L(8); Richard LGTM'd this patch: http://llvm-reviews.chandlerc.com/D1831 Thanks! llvm-svn: 193294
* Undoing accidental change to docs/LanguageExtensions.rst in my previous Warren Hunt2013-10-241-7/+11
| | | | | | patch. llvm-svn: 193293
* Clarify comments in genLoopLimit.Andrew Trick2013-10-241-3/+4
| | | | llvm-svn: 193292
* Optimizing MCJIT module state trackingAndrew Kaylor2013-10-243-124/+214
| | | | | | Patch co-developed with Yaron Keren. llvm-svn: 193291
* Implements 64 bit microsoft record layout and adds lit tests to cover Warren Hunt2013-10-2313-465/+1545
| | | | | | | | | it. Also removes all of the microsoft C++ ABI related code from the itanium layout builder. Differential Revision: http://llvm-reviews.chandlerc.com/D2003 llvm-svn: 193290
* (this is a corrected patch)Yaron Keren2013-10-233-2/+4
| | | | | | | | | | | | | | Calling _chkstk is required on ELF as well as COFF on Windows. Without _chkstk, functions requiring large stack crash in initialization code. Previous code tested for COFF format but not Mach-O and this patch modifies the code to test for Windows OS (both Windows target and MingW target) but not Mach-O object format: Looks like macho environment was used to build some EFI code. Credits to Andrew MacPherson. llvm-svn: 193289
* More wordsmithing on objc_requires_super documentation.Ted Kremenek2013-10-231-7/+11
| | | | llvm-svn: 193288
* Debug Info: code clean up.Manman Ren2013-10-232-31/+23
| | | | | | | | | | | Since we never insert DIE for DITemplateTypeParameter to a map, there is no need to call getDIE in getOrCreateTemplateTypeParameterDIE. It is also renamed to constructTemplateTypeParameterDIE to match with other construct functions in CompileUnit. Same applies to getOrCreateTemplateValueParameterDIE. llvm-svn: 193287
* Debug Info: code clean up.Manman Ren2013-10-232-5/+5
| | | | | | | Rename createMemberDIE to constructMemberDIE to match other construct functions in CompileUnit. llvm-svn: 193286
* Debug Info: code clean up.Manman Ren2013-10-232-18/+12
| | | | | | | Remove the unneeded return values from createMemberDIE, constructEnumTypeDIE, getOrCreateTemplateTypeParameterDIE, and getOrCreateTemplateValueParameterDIE. llvm-svn: 193285
* Debug Info: code clean up.Manman Ren2013-10-232-18/+18
| | | | | | | | | Unifying the argument ordering of private construct functions in CompileUnit to follow constructTypeDIE(DIE &, DIBasicType), constructTypeDIE(DIE &, DIDerivedType), constructTypeDIE(DIE &, DICompositeType), constructSubrangeDIE and constructArrayTypeDIE. llvm-svn: 193284
* Wordsmith text of objc_requires_super.Ted Kremenek2013-10-231-9/+9
| | | | llvm-svn: 193283
* Actually switch the default to use multiprocessingRafael Espindola2013-10-231-1/+1
| | | | llvm-svn: 193282
* Fix typo.Ted Kremenek2013-10-231-1/+1
| | | | llvm-svn: 193281
* [lit] Stop hacking the GIL check interval.Daniel Dunbar2013-10-231-6/+0
| | | | | | | - This was never a big win, and is irrelevant now that we commonly use multiprocessing based parallelism. llvm-svn: 193280
OpenPOWER on IntegriCloud