- Oct 24, 2013
-
-
Tim Northover authored
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
-
Tim Northover authored
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
-
Evgeniy Stepanov authored
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
-
Evgeniy Stepanov authored
llvm-svn: 193335
-
Zoran Jovanovic authored
llvm-svn: 193332
-
Tim Northover authored
These arch arguments are used for embedded targets (obviously) which need a different calling convention to iOS. llvm-svn: 193328
-
Tim Northover authored
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
-
Daniel Jasper authored
Significant changes: - Also recognize these literals with missing "@" for robustness. - Reorganize tests. llvm-svn: 193325
-
Yaron Keren authored
llvm-svn: 193324
-
Chandler Carruth authored
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
-
Tim Northover authored
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
-
Yaron Keren authored
generated. See: http://llvm.org/viewvc/llvm-project?view=revision&revision=193289 llvm-svn: 193321
-
Job Noorman authored
llvm-svn: 193320
-
Chandler Carruth authored
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
-
Chandler Carruth authored
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
-
Nuno Lopes authored
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
-
Amara Emerson authored
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
-
Zonr Chang authored
llvm-svn: 193315
-
Manuel Klimek authored
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
-
Benjamin Kramer authored
llvm-svn: 193313
-
Elena Demikhovsky authored
llvm-svn: 193312
-
Craig Topper authored
llvm-svn: 193311
-
Craig Topper authored
llvm-svn: 193310
-
Craig Topper authored
Add tests for SSE intrinsics in non-avx mode by copying from the AVX test cases. Some of these may have been tested by other tests, but most weren't. Patch by Cameron McInally. llvm-svn: 193309
-
Peter Collingbourne authored
llvm-svn: 193308
-
Juergen Ributzka authored
Reviewed by Andy llvm-svn: 193303
-
Shankar Easwaran authored
llvm-svn: 193302
-
Shankar Easwaran authored
Easier to add new options such as -version, and easy to parse. Now displays a help message with -help llvm-svn: 193301
-
Shankar Easwaran authored
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
-
Yuchen Wu authored
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
-
Rui Ueyama authored
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
-
Richard Smith authored
and we know where they go. llvm-svn: 193297
-
Faisal Vali authored
As requested by Rafael Espindola here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131021/091556.html llvm-svn: 193296
-
Richard Smith authored
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
-
Faisal Vali authored
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
-
Warren Hunt authored
patch. llvm-svn: 193293
-
Andrew Trick authored
llvm-svn: 193292
-
Andrew Kaylor authored
Patch co-developed with Yaron Keren. llvm-svn: 193291
-
Warren Hunt authored
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
-
Yaron Keren authored
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
-