summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size.Oliver Stannard2014-06-206-0/+125
| | | | | | | Emit the ARM build attributes ABI_PCS_wchar_t and ABI_enum_size based on module flags metadata. llvm-svn: 211349
* ps][mips64r6] Added LSA/DLSA instructionsZoran Jovanovic2014-06-206-2/+42
| | | | | | Differential Revision: http://reviews.llvm.org/D3897 llvm-svn: 211346
* R600: Trivial subtarget feature cleanups.Matt Arsenault2014-06-202-11/+5
| | | | | | | Remove an unused AMDIL leftover, correct extra periods appearing in the help menu. llvm-svn: 211341
* ArgList: use MakeArgList overloads in subclasses and clean up some calls.Justin Bogner2014-06-202-15/+13
| | | | llvm-svn: 211340
* Add Support to Recognize and Vectorize NON SIMD instructions in SLPVectorizer.Karthik Bhat2014-06-206-42/+441
| | | | | | | | | This patch adds support to recognize patterns such as fadd,fsub,fadd,fsub.../add,sub,add,sub... and vectorizes them as vector shuffles if they are profitable. These patterns of vector shuffle can later be converted to instructions such as addsubpd etc on X86. Thanks to Arnold and Hal for the reviews. http://reviews.llvm.org/D4015 llvm-svn: 211339
* Support: Clean up getRounded() testsDuncan P. N. Exon Smith2014-06-202-14/+24
| | | | llvm-svn: 211337
* Support: Write ScaledNumbers::getAdjusted()Duncan P. N. Exon Smith2014-06-203-14/+68
| | | | llvm-svn: 211336
* Small clanups:Rafael Espindola2014-06-201-36/+22
| | | | | | | Use static instead of anonymous namespace. Delete write only variables. llvm-svn: 211335
* Fix .cpp files claiming to be header filesHans Wennborg2014-06-205-5/+5
| | | | llvm-svn: 211334
* Support: Write ScaledNumbers::getRounded()Duncan P. N. Exon Smith2014-06-204-5/+123
| | | | | | | | | | | Start extracting helper functions out of -block-freq's `UnsignedFloat` into `Support/ScaledNumber.h` with the eventual goal of moving and renaming the class to `ScaledNumber`. The bike shed about names is still being painted, but I'm going with this for now. llvm-svn: 211333
* [x86] Make the x86 PACKSSWB, PACKSSDW, PACKUSWB, and PACKUSDWChandler Carruth2014-06-204-21/+152
| | | | | | | | | | | | | | | instructions available as synthetic SDNodes PACKSS and PACKUS that will select to the correct instruction variants based on the return type. This allows us to use these rather important instructions when lowering vector shuffles. Also moves the relevant instruction definitions to be split out from the fully generic multiclasses to allow them to match these new SDNodes in the same way that the UNPCK instructions do. No functionality should actually be changed here. llvm-svn: 211332
* Don't build switch lookup tables for dllimport or TLS variablesHans Wennborg2014-06-204-20/+92
| | | | | | | | | | | | | We would previously put dllimport variables in switch lookup tables, which doesn't work because the address cannot be used in a constant initializer. This is basically the same problem that we have in PR19955. Putting TLS variables in switch tables also desn't work, because the address of such a variable is not constant. Differential Revision: http://reviews.llvm.org/D4220 llvm-svn: 211331
* Revert "Add StringMap::insert(pair) consistent with the standard associative ↵Rafael Espindola2014-06-203-70/+21
| | | | | | | | | | | | container concept." This reverts commit r211309. It looks like it broke some bots: http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/15563/steps/compile/logs/stdio llvm-svn: 211328
* Added the -m option as an alias for -format=darwin to llvm-nm and llvm-sizeKevin Enderby2014-06-204-2/+6
| | | | | | which is what the darwin tools use for the Mach-O format output. llvm-svn: 211326
* The gold plugin doesn't need disassemblers.Rafael Espindola2014-06-191-1/+0
| | | | | | | | Back in r128440 tools/LTO started exporting the disassembler interface. It was never clear why, but whatever the reason I am pretty sure it doesn't hold for tools/gold. llvm-svn: 211325
* Set gold plugin options in a sane order.Rafael Espindola2014-06-191-12/+12
| | | | | | | | | | | This fixes the processing of --plugin-opt=-jump-table-type=arity. Nice properties: * We call InitTargetOptionsFromCodeGenFlags once. * We call parseCodeGenDebugOptions once. * It works :-) llvm-svn: 211322
* Fix the output of llvm-nm for Mach-O files to use the characters ‘d’ and ↵Kevin Enderby2014-06-193-1/+12
| | | | | | | | ‘b’ for data and bss symbols instead of the generic ’s’ for a symbol in a section. llvm-svn: 211321
* Simplify. No functionality change.Rafael Espindola2014-06-191-2/+1
| | | | | | Thanks to Alp Toker for noticing it. llvm-svn: 211320
* Use the assignment operator.Rafael Espindola2014-06-191-22/+1
| | | | | | No functionality change. llvm-svn: 211319
* Reduce indentation. No functionality change.Rafael Espindola2014-06-191-18/+18
| | | | llvm-svn: 211318
* Set missing options in LTOCodeGenerator::setTargetOptions.Rafael Espindola2014-06-192-0/+28
| | | | | | Patch by Tom Roeder, I just added the test. llvm-svn: 211317
* Change the output of llvm-nm and llvm-size for Mach-O universal files (akaKevin Enderby2014-06-196-22/+47
| | | | | | | | | | fat files) to print “ (for architecture XYZ)” for fat files with more than one architecture to be like what the darwin tools do for fat files. Also clean up the Mach-O printing of archive membernames in llvm-nm to use the darwin form of "libx.a(foo.o)". llvm-svn: 211316
* Use lib/LTO directly in the gold plugin.Rafael Espindola2014-06-192-35/+65
| | | | | | | | | | | | | | | | | | | | The tools/lto API is not the best choice for implementing a gold plugin. Among other issues: * It is an stable ABI. Old errors stay and we have to be really careful before adding new features. * It has to support two fairly different linkers: gold and ld64. * We end up with a plugin that depends on a shared lib, something quiet unusual in LLVM land. * It hides LLVM. For some features in the gold plugin it would be really nice to be able to just get a Module or a GlobalValue. This change is intended to be a very direct translation from the C API. It will just enable other fixes and cleanups. Tested with a LTO bootstrap on linux. llvm-svn: 211315
* Add a new subtarget hook for whether or not we'd like to enableEric Christopher2014-06-196-21/+39
| | | | | | | | | the atomic load linked expander pass to run for a particular subtarget. This requires a check of the subtarget and so save the TargetMachine rather than only TargetLoweringInfo and update all callers. llvm-svn: 211314
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Tests for r211273Oliver Stannard2014-06-194-0/+219
| | | | llvm-svn: 211279
* 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
* 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
OpenPOWER on IntegriCloud