summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Provide add and sub for IEEE quad. From GuanHong Liu.Joerg Sonnenberger2014-06-195-0/+210
| | | | | | Differential Revision: http://reviews.llvm.org/D2798 llvm-svn: 211312
* Include Threading.h instead of forward declaring a function.Zachary Turner2014-06-191-3/+1
| | | | | | | | Previously this led to a circular header dependency, but a recent change has since removed this dependency, so the correct fix is to simply include the header rather than forward declare. llvm-svn: 211311
* test: Just check the VFS when testing module-dependency-dumpJustin Bogner2014-06-192-21/+0
| | | | | | | Checking the filesystem seems to be a bit unreliable. Limit the tests to the VFS map for now. llvm-svn: 211310
* Add StringMap::insert(pair) consistent with the standard associative ↵David Blaikie2014-06-193-21/+70
| | | | | | | | container concept. Patch by Agustín Bergé. llvm-svn: 211309
* Since we're using DW_AT_string rather than DW_AT_strp for debug_infoEric Christopher2014-06-193-8/+8
| | | | | | | | for assembly files we can't depend on the offset within the section after a string since it could be different between producers etc. Relax these tests accordingly. llvm-svn: 211308
* Fix up a few formatting issues.Eric Christopher2014-06-191-14/+13
| | | | llvm-svn: 211307
* Frontend: Fix a typoJustin Bogner2014-06-191-1/+1
| | | | llvm-svn: 211306
* Remove an incorrect fixme.Rafael Espindola2014-06-191-2/+0
| | | | | | | dynamic-no-pic is just another output type. If gnu ld gets support for MachO, it should also add something like LDPO_DYN_NO_PIC to the plugin interface. llvm-svn: 211305
* Fix typosAlp Toker2014-06-195-8/+8
| | | | llvm-svn: 211304
* Frontend: Add a CC1 flag to dump module dependencies to a directoryJustin Bogner2014-06-1910-1/+225
| | | | | | | | | | | | | | | | | | This adds the -module-dependency-dir to clang -cc1, which specifies a directory to copy all of a module's dependencies into in a form suitable to be used as a VFS using -ivfsoverlay with the generated vfs.yaml. This is useful for crashdumps that involve modules, so that the module dependencies will be intact when a crash report script is used to reproduce a problem on another machine. We currently encode the absolute path to the dump directory, due to limitations in the VFS system. Until we can handle relative paths in the VFS, users of the VFS map may need to run a simple search and replace in the file. llvm-svn: 211303
* Support: Add llvm::sys::fs::copy_fileJustin Bogner2014-06-192-0/+40
| | | | | | A function to copy one file's contents to another. llvm-svn: 211302
* Remove bogus configure checkDavid Greene2014-06-191-4/+0
| | | | | | | Configure creates makefiles, so it doesn't make sense to check for them to see if we can configure. llvm-svn: 211301
* Add option to keep flavor out of the install directoryDavid Greene2014-06-191-1/+5
| | | | | | | | Sometimes we want to install things in "standard" locations and the flavor directories interfere with that. Add an option to keep them out of the install path. llvm-svn: 211300
* Turn of -Werror by defaultDavid Greene2014-06-191-3/+7
| | | | | | Don't build with -Werror unless asked to. llvm-svn: 211299
* Fix this test a little harder - use llc_dwarf to make sure we don'tEric Christopher2014-06-191-3/+3
| | | | | | try to execute it on windows. llvm-svn: 211298
* Remove unused includes following r211294Alp Toker2014-06-191-2/+0
| | | | llvm-svn: 211297
* Test commit: Correct type in two comments.John Wolfe2014-06-191-2/+2
| | | | llvm-svn: 211296
* Fixed formatting.Yaron Keren2014-06-191-3/+2
| | | | llvm-svn: 211295
* Use the c++ APIs.Rafael Espindola2014-06-191-6/+7
| | | | | | No functionality change. llvm-svn: 211294
* Relax this test a bit, we don't need the full contents of theEric Christopher2014-06-191-7/+2
| | | | | | frame section to match, just the version for this test. llvm-svn: 211293
* Fix PR20069: bad loop pragma arguments crash FEEli Bendersky2014-06-195-31/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a crash when handling malformed arguments to loop pragmas such as: "#pragma clang loop vectorize(()". Essentially any argument which is not an identifier or constant resulted in a crash. This patch also changes a couple of the error messages which weren't quite correct. New behavior with this patch vs old behavior: #pragma clang loop vectorize(1) OLD: error: missing keyword; expected 'enable' or 'disable' NEW: error: invalid argument; expected 'enable' or 'disable' #pragma clang loop vectorize() OLD: error: expected ')' NEW: error: missing argument to loop pragma 'vectorize' #pragma clang loop vectorize_width(bad) OLD: error: missing value; expected a positive integer value NEW: error: invalid argument; expected a positive integer value #pragma clang loop vectorize(bad) OLD: invalid keyword 'bad'; expected 'enable' or 'disable' NEW: error: invalid argument; expected 'enable' or 'disable' http://reviews.llvm.org/D4197 Patch by Mark Heffernan llvm-svn: 211292
* Remove use of removed function, llvm_stop_multithreadingDavid Blaikie2014-06-191-2/+0
| | | | llvm-svn: 211291
* Remove circular header reference in Threading.h/Mutex.hDavid Blaikie2014-06-191-2/+0
| | | | llvm-svn: 211290
* Switch over to using object_getClass to get the class of an object. ↵Jim Ingham2014-06-191-27/+39
| | | | | | | | | | | | Previously we were directly accessing the isa pointer of a class object to get its meta-class, but the isa pointers are not simple pointers on arm64, so this would cause the stepping to fail. object_getClass does whatever magic needs doing in this case. <rdar://problem/17239690> llvm-svn: 211289
* Fix build on non-Windows platforms.Zachary Turner2014-06-191-1/+3
| | | | llvm-svn: 211288
* Remove support for LLVM runtime multi-threading.Zachary Turner2014-06-197-99/+19
| | | | | | | | | | | | | After a number of previous small iterations, the functions llvm_start_multithreaded() and llvm_stop_multithreaded() have been reduced essentially to no-ops. This change removes them entirely. Reviewed by: rnk, dblaikie Differential Revision: http://reviews.llvm.org/D4216 llvm-svn: 211287
* Document unroll and unroll_count directives.Eli Bendersky2014-06-193-9/+54
| | | | | | | | | Extend the documentation for "#pragma clang loop" hints to include the unroll and unroll_count directives. Patch by Mark Heffernan [http://reviews.llvm.org/D4198] llvm-svn: 211286
* Don't call llvm_start_multithreaded() during init. As of LLVMZachary Turner2014-06-191-2/+0
| | | | | | revision r211277, this function is essentially a no-op. llvm-svn: 211285
* DebugInfo: Fission: Ensure the address pool entries for location lists are ↵David Blaikie2014-06-192-1/+8
| | | | | | | | | emitted. The address pool was being emitted before location lists. The latter could add more entries to the pool which would be lost/never emitted. llvm-svn: 211284
* Fixed up gdb-remote auxv regex issues with binary data.Todd Fiala2014-06-193-11/+39
| | | | | | | | | | | | | | | | | | | | Fixes two causes for https://github.com/tfiala/lldb/issues/7. 1. Ensures the inferior program has started executing, by printing a message on output first thing (per the "message:" command line arg) and waiting for that text to arrive before doing any checks related to auxv support. 2. Fixes up auxv-related regex patterns to be compiled with the Python re.MULTILINE and re.DOTALL options. The multiline is needed because the binary data can include what look like newlines when interpreted as text, and the DOTALL is needed to have the (.*) content portion match newlines. Added interrupt packet helper methods to add interrupt test sequence packets and parse the results from them. llvm-svn: 211283
* MCNullStreamer: assign file IDs to resolve crashes and errorsAlp Toker2014-06-195-9/+7
| | | | | | | | | | Use the MCStreamer base implementations for file ID tracking instead of overriding them as no-ops. Avoids assertions when streaming Dwarf debug info, and fixes ASM parsing of loc and file directives. llvm-svn: 211282
* [ValueTracking] Extend range metadata to call/invokeJingyue Wu2014-06-199-16/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: With this patch, range metadata can be added to call/invoke including IntrinsicInst. Previously, it could only be added to load. Rename computeKnownBitsLoad to computeKnownBitsFromRangeMetadata because range metadata is not only used by load. Update the language reference to reflect this change. Test Plan: Add several tests in range-2.ll to confirm the verifier is happy with having range metadata on call/invoke. Add two tests in AddOverFlow.ll to confirm annotating range metadata to call/invoke can benefit InstCombine. Reviewers: meheff, nlewycky, reames, hfinkel, eliben Reviewed By: eliben Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4187 llvm-svn: 211281
* Update for ScopStmt iterator name change in LLVM r210927Tobias Grosser2014-06-191-7/+4
| | | | | Contributed-by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 211280
* Tests for r211273Oliver Stannard2014-06-194-0/+219
| | | | llvm-svn: 211279
* Fix buildJohannes Doerfert2014-06-192-14/+12
| | | | | | See r210927 and r210847 llvm-svn: 211278
* Kill the LLVM global lock.Zachary Turner2014-06-195-30/+22
| | | | | | | | | | | | | | This patch removes the LLVM global lock, and updates all existing users of the global lock to use their own mutex. None of the existing users of the global lock were protecting code that was mutually exclusive with any of the other users of the global lock, so its purpose was not being met. Reviewed by: rnk Differential Revision: http://reviews.llvm.org/D4142 llvm-svn: 211277
* Improve robustness of tests for module flags metadataOliver Stannard2014-06-198-29/+29
| | | | | | | Fix clang tests to not break if the ID numbers of module flags metadata nodes change. llvm-svn: 211276
* Emit DWARF info for all code section in an assembly fileOliver Stannard2014-06-198-70/+220
| | | | | | | | Currently, when using llvm as an assembler, DWARF debug information is only generated for the .text section. This patch modifies this so that DWARF info is emitted for all executable sections. llvm-svn: 211273
* Emit DWARF3 call frame information when DWARF3+ debug info is requestedOliver Stannard2014-06-1929-74/+132
| | | | | | | | | | | | | | | | Currently, llvm always emits a DWARF CIE with a version of 1, even when emitting DWARF 3 or 4, which both support CIE version 3. This patch makes it emit the newer CIE version when we are emitting DWARF 3 or 4. This will not reduce compatibility, as we already emit other DWARF3/4 features, and is worth doing as the DWARF3 spec removed some ambiguities in the interpretation of call frame information. It also fixes a minor bug where the "return address" field of the CIE was encoded as a ULEB128, which is only valid when the CIE version is 3. There are no test changes for this, because (as far as I can tell) none of the platforms that we test have a return address register with a DWARF register number >127. llvm-svn: 211272
* [mips] Implementation of dli.Matheus Almeida2014-06-194-7/+312
| | | | | | | | | | | Patch by David Chisnall His work was sponsored by: DARPA, AFRL Some small modifications to the original patch: we now error if it's not possible to expand an instruction (mips-expansions-bad.s has some examples). Added some comments to the expansions. llvm-svn: 211271
* Fix assertion hit or bogus compiler error in cases when instantiating ObjC ↵Argyrios Kyrtzidis2014-06-192-0/+53
| | | | | | | | property accesses used with overloaded binary operators. rdar://17153478 llvm-svn: 211270
* [mips] Small update to the logic behind the expansion of assembly pseudo ↵Matheus Almeida2014-06-191-9/+20
| | | | | | | | | | | | | | | | instructions. Summary: The functions that do the expansion now return false on success and true otherwise. This is so we can catch some errors during the expansion (e.g.: immediate too large). The next patch adds some test cases. Reviewers: vmedic Reviewed By: vmedic Differential Revision: http://reviews.llvm.org/D4214 llvm-svn: 211269
* Updated comments as suggested by Rafael. Thanks.Dinesh Dwivedi2014-06-191-1/+7
| | | | llvm-svn: 211268
* [c++1z] Implement N3994: a range-based for loop can declare a variable with ↵Richard Smith2014-06-197-10/+125
| | | | | | | | | | | | super-terse notation for (x : range) { ... } which is equivalent to for (auto &&x : range) { ... } llvm-svn: 211267
* Added instruction combine to transform few more negative values addition to ↵Dinesh Dwivedi2014-06-192-0/+108
| | | | | | | | | | | | subtraction (Part 1) This patch enables transforms for following patterns. (x + (~(y & c) + 1) --> x - (y & c) (x + (~((y >> z) & c) + 1) --> x - ((y>>z) & c) Differential Revision: http://reviews.llvm.org/D3733 llvm-svn: 211266
* [X86] Teach how to combine horizontal binop even in the presence of undefs.Andrea Di Biagio2014-06-192-40/+440
| | | | | | | | | | | | | | Before this change, the backend was unable to fold a build_vector dag node with UNDEF operands into a single horizontal add/sub. This patch teaches how to combine a build_vector with UNDEF operands into a horizontal add/sub when possible. The algorithm conservatively avoids to combine a build_vector with only a single non-UNDEF operand. Added test haddsub-undef.ll to verify that we correctly fold horizontal binop even in the presence of UNDEFs. llvm-svn: 211265
* [sanitizer] Intercept pthread_*attr_get*.Evgeniy Stepanov2014-06-196-11/+165
| | | | | | This is a resubmit of r211166 reverted due to osx breakage. llvm-svn: 211264
* [Mips] Make r26-1.test test case independent from external input files.Simon Atanasyan2014-06-191-16/+75
| | | | llvm-svn: 211263
* [OPENMP] Improved diagnostic messages for vars with the predetermined data ↵Alexey Bataev2014-06-1912-304/+407
| | | | | | sharing attributes and reformatting llvm-svn: 211262
* Refactored and updated SimplifyUsingDistributiveLaws() to Dinesh Dwivedi2014-06-193-105/+210
| | | | | | | | | | | | * Find factorization opportunities using identity values. * Find factorization opportunities by treating shl(X, C) as mul (X, shl(C)) * Keep NSW flag while simplifying instruction using factorization. This fixes PR19263. Differential Revision: http://reviews.llvm.org/D3799 llvm-svn: 211261
OpenPOWER on IntegriCloud