summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Support Cortex-m0Jonathan Roelofs2014-10-023-21/+70
| | | | | | | | | As the title says... also, fix all the ARM asm return sequences so that they work on processors without the BX instruction. http://reviews.llvm.org/D5314 llvm-svn: 218869
* Silence a -Wsign-compare warning. NFC.Aaron Ballman2014-10-021-2/+2
| | | | llvm-svn: 218868
* [BUG][INDVAR] Fix for PR21014: wrong SCEV operands commuting for ↵Zinovy Nis2014-10-022-5/+18
| | | | | | | | | | | | non-commutative instructions My commit rL216160 introduced a bug PR21014: IndVars widens code 'for (i = ; i < ...; i++) arr[ CONST - i]' into 'for (i = ; i < ...; i++) arr[ i - CONST]' thus inverting index expression. This patch fixes it. Thanks to Jörg Sonnenberger for pointing. Differential Revision: http://reviews.llvm.org/D5576 llvm-svn: 218867
* [Compiler-rt][MIPS][Profile] Adding support for MIPS32/64Daniel Sanders2014-10-021-3/+10
| | | | | | | | | | | | | | | | | | Summary: Changed cmake/config-ix.cmake to add support for different MIPS architectures: mips, mipsel, mips64, mips64el In profile code there is no target based dependencies, so just enabling mips flag does the work. Patch by Mohit Bhakkad Reviewers: dsanders, void, petarj, kcc, samsonov Reviewed By: samsonov Subscribers: llvm-commits, farazs, kumarsukhani Differential Revision: http://reviews.llvm.org/D4880 llvm-svn: 218866
* Emit lifetime.start / lifetime.end markers for unnamed temporary objects.Arnaud A. de Grandmaison2014-10-026-32/+414
| | | | | | | This will give more information to the optimizers so that they can reuse stack slots and reduce stack usage. llvm-svn: 218865
* Fix a broken test case.Asiri Rathnayake2014-10-021-2/+2
| | | | | | | | | | Summary: Commit r218863 broke this test case. This patch fixes it by updating the expected output line. Should've been updated with the original patch but for some reason it didn't fail during my local make check. Change-Id: I89ed28b37f67c34d1a5d28a3e47ae33d9a82a98f llvm-svn: 218864
* [ARM] Handle conflicts between -mfpu and -mfloat-abi options.Asiri Rathnayake2014-10-024-10/+172
| | | | | | | | | Summary: This patch implements warnings/downgradable errors for invalid -mfpu, -mfloat-abi option combinations (e.g. -mfpu=none -mfloat-abi=hard). Change-Id: I94fa664e1bc0b5855ad835abd7a50a3e0395632d llvm-svn: 218863
* [x86] Just delete the last combine test file.Chandler Carruth2014-10-021-448/+0
| | | | | | | | | | This file isn't really doing anything useful. Many of the tests that seem to be combined are also repeats from other test files. Many of the other tests, despite the comment that they should be combined into a single shuffle... well... aren't combined into a single shuffle. =/ llvm-svn: 218862
* [x86] Merge still more combine tests into the common file. These atChandler Carruth2014-10-022-237/+382
| | | | | | | least seem *slightly* more interesting test wise, although given how spotily we actually combine anything, I remain somewhat suspicious. llvm-svn: 218861
* [x86] Merge the third combining test into the generic one and add properChandler Carruth2014-10-022-380/+1001
| | | | | | | | | | | | | | | | checks for all the ISA variants. If the SSE2 checks here terrify you, good. This is (in large part) the kind of amazingly bad code that is holding LLVM back when vectorizing on older ISAs. At the same time, these tests seem increasingly dubious to me. There are a very large number of tests and it isn't clear that they are systematically covering a specific set of functionality. Anyways, I don't want to reduce testing during the transition, I just want to consolidate it to where it is easier to manage. llvm-svn: 218860
* [x86] Merge the second set of vector combining tests into a common testChandler Carruth2014-10-022-317/+470
| | | | | | | | | | | | | file. Some of these really don't make sense to test -- we're testing for the *lack* of combining two shuffles into one, presumably because the two would generate better shuffles in the end. But if you look at the generated code shown here, in many cases the generated code is, frankly, terrible. Or we combine any two generated shuffles back into a single instruction! I've left a FIXME to revisit these decisions. llvm-svn: 218859
* [x86] Merge the bitwise operation shuffle combining into the common testChandler Carruth2014-10-022-253/+468
| | | | | | file, adding assertions across the ISA variants for it. llvm-svn: 218858
* [x86] Update this test to run a full complement of the ISA extensions,Chandler Carruth2014-10-021-54/+92
| | | | | | | | | and use the new grouped FileCheck patterns to match them. No interesting changes yet, but this test is now in proper form to have the other shuffle combining tests merged into it. llvm-svn: 218857
* [x86] Minimize the parameters to this test for clarity.Chandler Carruth2014-10-021-2/+1
| | | | | | | | | | | The test has to do with DAG combines, and so it doesn't need the new vector shuffle lowering to be effective. Also, it has a nice in-IR triple string which we should really be using rather than command line flags (unless it varies form RUN-line to RUN-line). Finally, I much prefer letting LLVM synthesize the correct datalayout string from the triple rather than baking one in here that will just become stale. llvm-svn: 218856
* [x86] Add a comment clarifying that this test should span all manners ofChandler Carruth2014-10-021-0/+5
| | | | | | | | | | generic DAG combining of shuffles relevant to x86. My plan is to fold a bunch of the other DAG combining test cases into this one, while converting them to use the nice new FileCheck assertion syntax. llvm-svn: 218855
* [x86] Switch some of the new consolidated vector tests to useChandler Carruth2014-10-023-208/+239
| | | | | | | | | a bare-metal triple and have nice BB labels, etc. No significant change here, just tidying up to have a consistent set of OS-agnostic vector functionality here. llvm-svn: 218854
* Update to match strings output by lldb.Jason Molenda2014-10-021-1/+1
| | | | llvm-svn: 218853
* Add a couple of extra exepct strings so this test file keeps in sync with lldbJason Molenda2014-10-021-0/+2
| | | | | | a little better. llvm-svn: 218851
* Add SBExecutionContext.h to the list of headers to copy into the LLDB framework.Jason Molenda2014-10-021-0/+2
| | | | llvm-svn: 218850
* [PBQP] Update doxygen comment style to match the rest of the file. NFC.Lang Hames2014-10-021-28/+28
| | | | llvm-svn: 218849
* [PBQP] Add support for graph-level metadata to the PBQP graph. This will be usedLang Hames2014-10-022-0/+9
| | | | | | | | | in the future to attach useful information about the PBQP graph (e.g. the associated MachineFunction, pointers to regalloc passes) to the graph itself, making that information accessible to the solver. This should also allow the PBQPBuilder interface to be simplified. llvm-svn: 218848
* [ELF] Never mark the dynamic linker as DT_NEEDEDRafael Auler2014-10-021-0/+3
| | | | | | | | | | | | This patch adds logic to avoid putting the dynamic linker library (ld.so) as a DT_NEEDED entry in the dynamic table. It should only appear in PT_INTERP. This patch fixes SPEC programs 433, 445, 450, 453, 456, 462 when running on Ubuntu Linux x86_64 and when linking SPEC programs with LLD and glibc 2.19. http://reviews.llvm.org/D5573 llvm-svn: 218847
* [lld] [ELF] [MIPS] Remove duplicate logicRafael Auler2014-10-023-12/+0
| | | | | | | | | | | | | | Summary: With r218633, the logic that monitors which shared library symbols were used was copied from the MIPS lld backend to ELF classes, making it available to all ELF backends. However, this made the isDynSymEntryRequired() functions in MipsDynamicLibraryWriter.h/MipsELFWriters.h/MipsExecutableWriter.h to be duplicated logic, since this is already implemented in OutputELFWriter<>/DefaultLayout. This patch removes this duplicated code from MIPS. Reviewers: Bigcheese, shankarke Reviewed By: shankarke Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5564 llvm-svn: 218846
* Add a mutex lock to StackFrame to protect race conditions forJason Molenda2014-10-022-3/+21
| | | | | | | | | updating its ivars. We've had a lot of crash reports and careful analysis shows that we've got multiple threads operating on the same StackFrame objects, changing their m_sc and m_flags ivars. <rdar://problem/18406111> llvm-svn: 218845
* Remove unused variable.Eric Christopher2014-10-021-1/+1
| | | | llvm-svn: 218844
* Remove test directories with no tests.Eric Christopher2014-10-022-0/+0
| | | | llvm-svn: 218843
* InstrProf: Simplify counting a file's regions when writing coverage (NFC)Justin Bogner2014-10-021-34/+24
| | | | | | | | | | | | When writing a coverage mapping we iterate through the mapping regions in order of FileID, but we were then repeatedly searching from the beginning of the list to count the number of regions with a given FileID. It is simpler and more efficient to search forward from the current iterator to find the number of regions. llvm-svn: 218842
* [asan] make new_array_cookie_test more robustKostya Serebryany2014-10-011-2/+7
| | | | llvm-svn: 218841
* Reduce the PR20399 test case.David Blaikie2014-10-014-79/+30
| | | | | | | | | I couldn't get something /really/ obvious, and I imagine Richard Smith might be able to provide some text explaining the sequence of steps that's demonstrated by these files - but at least it's a bit simpler now. llvm-svn: 218840
* [x86] Improve and correct how the new vector shuffle lowering wasChandler Carruth2014-10-012-23/+38
| | | | | | | | | | | | | | | | | | | matching and lowering 64-bit insertions. The first problem was that we weren't looking through bitcasts to discover that we *could* lower as insertions. Once fixed, we in turn weren't looking through bitcasts to discover that we could fold a load into the lowering. Once fixed, we weren't forming a SCALAR_TO_VECTOR node around the inserted element and instead were passing a scalar to a DAG node that expected a vector. It turns out there are some patterns that will "lower" this into the correct asm, but the rest of the X86 backend is very unhappy with such antics. This should fix a few more edge case regressions I've spotted going through the regression test suite to enable the new vector shuffle lowering. llvm-svn: 218839
* PR21101: tablegen's FastISel emitter should filter out unused functions.Bob Wilson2014-10-011-1/+16
| | | | | | | | | | | | | FastISel has a fixed set of virtual functions that are overridden by the tablegen-generated code for each target. These functions are distinguished by the kinds of operands, e.g., register + immediate = "ri". The FastISel emitter has been blindly emitting functions with different combinations of operand kinds, even for combinations that are completely unused by FastISel, e.g., "fastEmit_rrr". Change to filter out functions that will be irrelevant for FastISel and do not bother generating the code for them. Also add explicit "override" keywords for the virtual functions that are overridden. llvm-svn: 218838
* Add SBExecutionContext.cpp to this file as well, as the commentJim Ingham2014-10-011-0/+1
| | | | | | in source/API/CMakeLists.txt instructs... llvm-svn: 218837
* [MCJIT] Don't crash in debugging output for sections that aren't emitted.Lang Hames2014-10-011-0/+5
| | | | llvm-svn: 218836
* Add documentation about the new SBExecutionContext for Python commands ↵Enrico Granata2014-10-011-0/+20
| | | | | | feature. This marks the end of rdar://18142728 llvm-svn: 218835
* Allow Python commands to optionally take an SBExecutionContext argument in ↵Enrico Granata2014-10-0112-9/+46
| | | | | | case they need to handle 'where they want to act' separately from the notion of 'currently-selected entity' that is associated to the debugger. Do this in an (hopefully) non-breaking way by running an argcount check before passing in the new argument. Update the test case to also check for this new feature. www update to follow llvm-svn: 218834
* thread state coordinator: added error callbacks, cleaned up tests.Todd Fiala2014-10-013-380/+541
| | | | | | | | | | | | | | | | | | | | | | | | | ThreadStateCoordinator changes: * Most commands that run in the queue now take an error handler that will be called with an error string if an error occurs during processing. Errors generally stop the operation in progress. The errors are checked at time of execution. This is intended to help flush out ptrace/waitpid/state management issues as quickly as possible. * Threads now must be known to the coordinator before stops can be reported, resumes can be requested, thread deaths can be reported, or deferred stop notifications can be made. Failure to know the thread will cause the coordinator to call the error callback for the event being processed. Threads are introduced to the system by the NotifyThreadCreate method. * The NotifyThreadCreate method now takes the initial state of the thread being introduces to the system. We no longer just assume the thread is running. The test cases were cleaned up, too: * A gtest test fixture is now used, which allows creating less verbose helper methods that setup common pieces of callback code for some method invocations. Net result: the tests are simpler to read and shorter to write. llvm-svn: 218833
* constify the TargetMachine argument used in the subtarget andEric Christopher2014-10-014-4/+4
| | | | | | lowering constructors. llvm-svn: 218832
* [cmake] Include the new file in the CMake lists. Without this everyChandler Carruth2014-10-011-0/+1
| | | | | | | | | | CMake build of any part of LLVM with LLDB checked out fails immediately. =[ We appear to not even have a build bot covering the CMake build of LLDB which makes this truly terrible. That needs to be fixed immediately. llvm-svn: 218831
* Test case for my r218780 patch.Fariborz Jahanian2014-10-011-0/+5
| | | | | | | Suggested by Richard Smith. rdar://18508589. llvm-svn: 218830
* DIBuilder: Remove duplicated comments, NFCDuncan P. N. Exon Smith2014-10-011-77/+1
| | | | | | | These comments already appear in the header, and some of them are out-of-date anyway. llvm-svn: 218829
* Revert "DIBuilder: Remove dead code"Duncan P. N. Exon Smith2014-10-012-0/+14
| | | | | | | | | This reverts commit r218820. It turns out that Adrian has an outstanding SROA patch that uses this. I've updated it to forward to `createExpression()`. llvm-svn: 218828
* [ASan] Don't use large stack buffer for local variable name in stack frame ↵Alexey Samsonov2014-10-011-17/+17
| | | | | | description llvm-svn: 218827
* Change the output of arc unitJohannes Doerfert2014-10-011-7/+33
| | | | | | | | | | | arc unit will now show the number of consecutive tests with the same result instead of printing a "." for each one. Due to the number of tests the "dots" didn't fit in one line any more. Furthermore the result list is shortened, only non passing tests or tests taking longer than a time threshold (50ms) will be reported (both to the user and to phabricator). llvm-svn: 218826
* Fix trailing commas in AMD define.Joerg Sonnenberger2014-10-011-3/+3
| | | | llvm-svn: 218825
* Add the various signature macros.Joerg Sonnenberger2014-10-011-0/+54
| | | | llvm-svn: 218824
* Rename bit_RDRAND to bit_RDRND to match GCC's version of this header.Joerg Sonnenberger2014-10-011-1/+1
| | | | llvm-svn: 218823
* Lower FNEG ( FABS (x) ) -> FNABS (x) [X86 codegen] PR20578Sanjay Patel2014-10-012-6/+99
| | | | | | | | | | | | Negative FABS of either a scalar or vector should be handled the same way on x86 with SSE/AVX: a single OR instruction of the FP operand with a constant to light up the sign bit(s). http://llvm.org/bugs/show_bug.cgi?id=20578 Differential Revision: http://reviews.llvm.org/D5201 llvm-svn: 218822
* Update test name to match changes made in r218783David Blaikie2014-10-011-1/+1
| | | | | | Addressing post commit review feedback from Justin Bogner. llvm-svn: 218821
* DIBuilder: Remove dead codeDuncan P. N. Exon Smith2014-10-012-22/+0
| | | | | | | | | | | | I neglected to update `DIBuilder::createPieceExpression()` in r218797, which I noticed while rebasing a patch for PR17891. On closer inspection, it looks like dead code. If there are any downstream users of this, you should transition to the more general `createExpression()`. Or, we can add this back, but then it should just forward to `createExpression()`. llvm-svn: 218820
* [ASan] Make stack-buffer-overflow reports more robustAlexey Samsonov2014-10-014-46/+54
| | | | | | | | | | | | | | | | | | | | Summary: Fix the function that gets stack frame description by address in thread stack, so that it clearly indicates failures. Make this error non-fatal, and print as much information as we can in this case. Make all errors in ParseFrameDescription non-fatal. Test Plan: check-asan testsuite Reviewers: kcc Reviewed By: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5554 llvm-svn: 218819
OpenPOWER on IntegriCloud