summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix up this test caseEnrico Granata2014-12-121-9/+9
| | | | llvm-svn: 224157
* utils: update vim syntax highlighting for LLVM IRSaleem Abdulrasool2014-12-121-17/+16
| | | | | | | Add missing externally_initialized keyword from SVN r174340. Also reflow the text. llvm-svn: 224155
* Clean up static analyzer warnings.Michael Ilseman2014-12-1211-12/+24
| | | | | | | | | Clang's static analyzer found several potential cases of undefined behavior, use of un-initialized values, and potentially null pointer dereferences in tablegen, Support, MC, and ADT. This cleans them up with specific assertions on the assumptions of the code. llvm-svn: 224154
* [Hexagon] Adding double word add/min/minu/max/maxu instructions and tests.Colin LeMahieu2014-12-122-21/+77
| | | | llvm-svn: 224153
* Revert r224149, llvm-dsymutil was already here.Nico Weber2014-12-121-1/+0
| | | | | | | | | I saw a failure on an internal bot, opened this file, saw it was missing, thought "aha!", tried to land, got an "file is out of date", synced, didn't see the file listed right above the line I added (cause I didn't add it in the right place) and landed. Apologies! llvm-svn: 224152
* Add a test case to validate that AddressOf() and GetLoadAddress() work on a ↵Enrico Granata2014-12-122-0/+43
| | | | | | ValueObjectConstResult. This test passing is the baseline of functionality we want to ensure for our const results llvm-svn: 224151
* [Hexagon] Adding J class call instructions.Colin LeMahieu2014-12-123-9/+56
| | | | llvm-svn: 224150
* Add llvm-dsymutil to test/CMakeLists.txtNico Weber2014-12-121-0/+1
| | | | | | | r224134 added this and runs it from a test, but doesn't build it with test binaries. llvm-svn: 224149
* [Sanitizer] Introduce Allocator::may_return_null bool flag.Alexey Samsonov2014-12-1214-60/+91
| | | | | | | | | | | | | | | | | | | | Summary: Turn "allocator_may_return_null" common flag into an Allocator::may_return_null bool flag. We want to make sure that common flags are immutable after initialization. There are cases when we want to change this flag in the allocator at runtime: e.g. in unit tests and during ASan activation on Android. Test Plan: regression test suite, real-life applications Reviewers: kcc, eugenis Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6623 llvm-svn: 224148
* The so-called "trivial implementation" has been with us for a few years now. ↵Enrico Granata2014-12-121-34/+0
| | | | | | It's probably safe to assume it works.. so remove the #if stuff llvm-svn: 224147
* IR: Don't track nullptr on metadata RAUWDuncan P. N. Exon Smith2014-12-122-1/+49
| | | | | | | | | | | | | | | | | The RAUW support in `Metadata` supports going to `nullptr` specifically to handle values being deleted, causing `ValueAsMetadata` to be deleted. Fix the case where the reference is from a `TrackingMDRef` (as opposed to an `MDOperand` or a `MetadataAsValue`). This is surprisingly rare -- metadata tracked by `TrackingMDRef` going to null -- but it came up in an openSUSE bootstrap during inlining. The tracking ref was held by the `ValueMap` because it was referencing a local, the basic block containing the local became dead after it had been merged in, and when the local was deleted, the tracking ref asserted in an `isa`. llvm-svn: 224146
* Allow module deps to be printed in an arbitrary orderReid Kleckner2014-12-121-5/+5
| | | | | | | The order is different between Windows and Unix for reasons unknown, but the compiler output appears to still be determinstic. llvm-svn: 224145
* MAP_FILE is the default. We don't need to add it.Rafael Espindola2014-12-121-3/+0
| | | | llvm-svn: 224144
* Do attempt to ask the impl_backend for the live address of a const result if ↵Enrico Granata2014-12-121-1/+1
| | | | | | none is stored in the object itself; this is for symmetry with GetAddressOf() llvm-svn: 224143
* Do not set the live address of a const result child if its parent has an ↵Enrico Granata2014-12-121-1/+2
| | | | | | invalid live address llvm-svn: 224142
* Relax debug-map-parsing.test error message check for WindowsReid Kleckner2014-12-121-4/+4
| | | | | | On Windows we get the string "no such file or directory". llvm-svn: 224141
* More code format fix from r224133, NFCSteven Wu2014-12-121-2/+1
| | | | llvm-svn: 224140
* Remove silly left over from the Windows resize_file implementation.Rafael Espindola2014-12-121-1/+0
| | | | | | | I didn't notice the problem first because on a non debug build the CRT was just exiting the process without any message. llvm-svn: 224139
* Move the resize file feature from mapped_file_region to the only user.Rafael Espindola2014-12-123-16/+11
| | | | | | This removes a duplicated stat on every file that llvm-ar looks at. llvm-svn: 224138
* Add a method to disable the Windows crash / assert dialogs.Zachary Turner2014-12-125-1/+57
| | | | | | | | | | | | | | | | | | When running the test suite on Windows, we can't have Windows popping up dialogs when LLDB crashes in native code because it will hang the test suite. This patch silences those dialogs by checking an environment variable at startup and configuring Windows based on its value. This patch also adds an environment variable to force inferiors to never spawn in their own console window. This is useful to prevent new window spawm when running the test suite. Reviewed by: Scott Graham Differential Revision: http://reviews.llvm.org/D6628 llvm-svn: 224137
* Pass a FD to resise_file and add a testcase.Rafael Espindola2014-12-124-19/+18
| | | | | | I will add a real use in another commit. llvm-svn: 224136
* Remove unused feature. NFC.Rafael Espindola2014-12-123-11/+4
| | | | llvm-svn: 224135
* Initial dsymutil tool commit.Frederic Riss2014-12-1224-2/+757
| | | | | | | | | | | | | | | | | | | | | | | | The goal of this tool is to replicate Darwin's dsymutil functionality based on LLVM. dsymutil is a DWARF linker. Darwin's linker (ld64) does not link the debug information, it leaves it in the object files in relocatable form, but embbeds a `debug map` into the executable that describes where to find the debug information and how to relocate it. When releasing/archiving a binary, dsymutil is called to link all the DWARF information into a `dsym bundle` that can distributed/stored along with the binary. With this commit, the LLVM based dsymutil is just able to parse the STABS debug maps embedded by ld64 in linked binaries (and not all of them, for example archives aren't supported yet). Note that the tool directory is called dsymutil, but the executable is currently called llvm-dsymutil. This discrepancy will disappear once the tool will be feature complete. At this point the executable will be renamed to dsymutil, but until then you do not want it to override the system one. Differential Revision: http://reviews.llvm.org/D6242 llvm-svn: 224134
* Restructure code from r224097. NFCSteven Wu2014-12-121-12/+12
| | | | llvm-svn: 224133
* [AVX512] Enabling bit logic loweringRobert Khasanov2014-12-124-0/+247
| | | | | | Added lowering tests. llvm-svn: 224132
* Fix the issue of mangling of local anonymous unions (Itanium C++ ABI):Evgeny Astigeevich2014-12-125-27/+100
| | | | | | | | | | | | | | | | | | | | | | A discriminator is used for the first occurrence of a name. inline int f1 () { static union { int a; long int b; }; static union { int c; double d; }; return a+c; } The name of the second union is mangled as _ZZ2f1vE1c_0 instead of _ZZ2f1vE1c. Differential Revision: http://reviews.llvm.org/D6295 llvm-svn: 224131
* Now that we require a newer python, use the new exception syntax.Rafael Espindola2014-12-121-1/+1
| | | | llvm-svn: 224130
* Require python 2.7.Rafael Espindola2014-12-126-20/+18
| | | | | | | | | | | | | We were already requiring 2.5, which meant that people on old linux distros had to upgrade anyway. Requiring python 2.6 will make supporting 3.X easier as we can use the 3.X exception syntax. According to the discussion on llvmdev, there is not much value is requiring just 2.6, we may as well just require 2.7. llvm-svn: 224129
* [mips] Enable code generation for MIPS-III.Vasileios Kalintiris2014-12-124-102/+163
| | | | | | | | | | | | | | | | | | Summary: This commit enables the MIPS-III target and adds support for code generation of SELECT nodes. We have to use pseudo-instructions with custom inserters for these nodes as MIPS-III CPUs do not have conditional-move instructions. Depends on D6212 Reviewers: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6464 llvm-svn: 224128
* [AVX512] Enabling MIN/MAX lowering.Robert Khasanov2014-12-126-25/+2830
| | | | | | Added lowering tests. llvm-svn: 224127
* Reapply "[MachineScheduler] Fix for PR21807: minor code difference building ↵Andrea Di Biagio2014-12-122-1/+93
| | | | | | | | | | | with/without -g." This reapplies r224118 with a fix for test 'misched-code-difference-with-debug.ll'. That test was failing on some buildbots because it was x86 specific but it was missing a target triple. Added an explicit triple to test misched-code-difference-with-debug.ll. llvm-svn: 224126
* [Reassociate] Use dbgs() instead of errs().Chad Rosier2014-12-121-2/+2
| | | | llvm-svn: 224125
* [mips] Support SELECT nodes for targets that don't have conditional-move ↵Vasileios Kalintiris2014-12-125-0/+778
| | | | | | | | | | | | | | | | | | | | | | | | instructions. Summary: For Mips targets that do not have conditional-move instructions, ie. targets before MIPS32 and MIPS-IV, we have to insert a diamond control-flow pattern in order to support SELECT nodes. In order to do that, we add pseudo-instructions with a custom inserter that emits the necessary control-flow that selects the correct value. With this patch we add complete support for code generation of Mips-II targets based on the LLVM test-suite. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6212 llvm-svn: 224124
* Disable --icf=safe to avoid a bug.Rafael Espindola2014-12-121-1/+3
| | | | | | Thanks to Sameer Sahasrabuddhe for the report! llvm-svn: 224123
* [AVX512] Minor fix in lowering pattern for broadcast intrustions.Robert Khasanov2014-12-121-6/+5
| | | | | | No functional change. llvm-svn: 224122
* Revert: [MachineScheduler] Fix for PR21807: minor code difference building ↵Andrea Di Biagio2014-12-122-93/+1
| | | | | | | | with/without -g. Test 'misched-code-difference-with-debug.ll' was failing on some buildbots. llvm-svn: 224121
* Don't break string literals in Java and JavaScript.Alexander Kornienko2014-12-122-0/+13
| | | | | | | | The proper way to break string literals in these languages is by inserting a "+" between parts which we don't support yet. So we disable string literal breaking until then. llvm-svn: 224120
* This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling ↵Suyog Sarda2014-12-122-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into vector of loads, and vectorizes it. Test case : float hadd(float* a) { return (a[0] + a[1]) + (a[2] + a[3]); } AArch64 assembly before patch : ldp s0, s1, [x0] ldp s2, s3, [x0, #8] fadd s0, s0, s1 fadd s1, s2, s3 fadd s0, s0, s1 ret AArch64 assembly after patch : ldp d0, d1, [x0] fadd v0.2s, v0.2s, v1.2s faddp s0, v0.2s ret Reviewed Link : http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141208/248531.html llvm-svn: 224119
* [MachineScheduler] Fix for PR21807: minor code difference building ↵Andrea Di Biagio2014-12-122-1/+93
| | | | | | | | | | | | | | | | | with/without -g. This patch fixes the issue reported as PR21807. There was a minor difference in the generated code depending on the -g flag. The cause was that with -g the machine scheduler used a different scheduling strategy. This decision was based on the number of instructions in a schedule region and included debug instructions in that count. This patch fixes the issue in MISched and provides a test. Patch by Russell Gallop! llvm-svn: 224118
* [Asan] XFAIL the interception_failure_test.cc test on FreeBSDViktor Kutuzov2014-12-121-0/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D6591 llvm-svn: 224117
* [Asan] Fix the tsd_dtor_leak.cc test to pass on FreeBSDViktor Kutuzov2014-12-121-0/+7
| | | | | | Differential Revision: http://reviews.llvm.org/D6590 llvm-svn: 224116
* Emit Tag_ABI_FP_16bit_format build attribute.Charlie Turner2014-12-123-0/+31
| | | | | | | | | | | | | The __fp16 type is unconditionally exposed. Since -mfp16-format is not yet supported, there is not a user switch to change this behaviour. This build attribute should capture the default behaviour of the compiler, which is to expose the IEEE 754 version of __fp16. When -mfp16-format is emitted, that will be the way to control the value of this build attribute. Change-Id: I8a46641ff0fd2ef8ad0af5f482a6d1af2ac3f6b0 llvm-svn: 224115
* Silence gcc 4.9.1 warning 'xyz' is used uninitialized in this function.Yaron Keren2014-12-121-7/+7
| | | | | | | | In release builds this is actually possible as without asserts there is no testing of the actual read bytes and the variables could be partially uninitialized. llvm-svn: 224114
* Make File always take the ownership of a MemoryBuffer.Rui Ueyama2014-12-1221-90/+88
| | | | | | | | | | | | | | The documentation of parseFile() said that "the resulting File object may take ownership of the MemoryBuffer." So, whether or not the ownership of a MemoryBuffer would be taken was not clear. A FileNode (a subclass of InputElement, which is being deprecated) keeps the ownership if a File doesn't take it. This patch makes File always take the ownership of a buffer. Buffers lifespan is not always the same as File instances. Files are able to deallocate buffers after parsing the contents. llvm-svn: 224113
* clang-format: Revamp nested block formatting.Daniel Jasper2014-12-126-90/+88
| | | | | | | | | | | | | | | | | | | | | | This fixed llvm.org/PR21804 and hopefully a few other strange cases. Before: if (blah_blah(whatever, whatever, [] { doo_dah(); doo_dah(); })) { } } After: if (blah_blah(whatever, whatever, [] { doo_dah(); doo_dah(); })) { } } llvm-svn: 224112
* Include newlib-specific locales in __localeSergey Dmitrouk2014-12-121-0/+2
| | | | llvm-svn: 224111
* CodeGen: Loads/stores to allocas for atomic ops shouldn't be volatileDavid Majnemer2014-12-122-7/+42
| | | | | | | | | Don't inherit the volatile-ness of the input pointer to the volatile operation for memory allocated on the side. This fixes PR17306. llvm-svn: 224110
* Pass output stream to AsLexInput instead of the whole tool_output_file.Craig Topper2014-12-121-46/+46
| | | | llvm-svn: 224109
* Use unique_ptr to remove an explicit delete. Change return type to pass the ↵Craig Topper2014-12-121-5/+4
| | | | | | unique_ptr to caller. llvm-svn: 224108
* Use make_unique instead of reset() and 'new'Craig Topper2014-12-121-1/+2
| | | | llvm-svn: 224107
OpenPOWER on IntegriCloud