summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* s/AttrList/pImpl/g in AttributeSet. No functionality change.Bill Wendling2013-01-272-31/+31
| | | | llvm-svn: 173628
* Start using more of the AttrNode in the AttributeSetImpl class.Bill Wendling2013-01-272-10/+11
| | | | | | Also add some asserts. llvm-svn: 173627
* Legalizer: Reword comment again, per Duncan's suggestion.Benjamin Kramer2013-01-271-3/+2
| | | | llvm-svn: 173625
* [XCore] Add missing 1r instructions.Richard Osborne2013-01-272-6/+48
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173624
* [XCore] Add missing 0r instructions.Richard Osborne2013-01-272-3/+95
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173623
* BBVectorize: Better use of TTI->getShuffleCostHal Finkel2013-01-271-4/+23
| | | | | | | | | | | | | | | | | | | | When flipping the pair of subvectors that form a vector, if the vector length is 2, we can use the SK_Reverse shuffle kind to get more-accurate cost information. Also we can use the SK_ExtractSubvector shuffle kind to get accurate subvector extraction costs. The current cost model implementations don't yet seem complex enough for this to make a difference (thus, there are no test cases with this commit), but it should help in future. Depending on how the various targets optimize and combine shuffles in practice, we might be able to get more-accurate costs by combining the costs of multiple shuffle kinds. For example, the cost of flipping the subvector pairs could be modeled as two extractions and two subvector insertions. These changes, however, should probably be motivated by specific test cases. llvm-svn: 173621
* Legalizer: Add an assert and tweak a comment to clarify the assumptions this ↵Benjamin Kramer2013-01-271-1/+5
| | | | | | code makes. llvm-svn: 173620
* In the AttributeSetImpl c'tor, fill in the AttrNodes data structure with the ↵Bill Wendling2013-01-272-8/+42
| | | | | | attributes being passed in. llvm-svn: 173618
* [CMake][Lit][unittests] Cleanup in AddLLVM.cmake.NAKAMURA Takumi2013-01-271-8/+1
| | | | llvm-svn: 173617
* [CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory ↵NAKAMURA Takumi2013-01-273-25/+5
| | | | | | | | | | | | | | | | | | | | | | | | for unittests. For example, cur) unittests/ADT/Release/ADTTests new) unittests/ADT/ADTTests RUNTIME_BUILD_MODE can be substituted to CMAKE_CFG_INTDIR. With Make and Ninja, the tree is not built with multiple configurations. Then, including the build type in target directory doesn't make sense. See also "How can I build multiple modes without switching?" http://www.cmake.org/Wiki/CMake_FAQ CMAKE_CFG_INTDIR is set to "." With multiple-configuration-aware build system, like Visual Studio, each unittest is built on appropriate directory, for example, unittests/ADT/Release/ADTTests.exe CMAKE_CFG_INTDIR is set to build system's variable, like "$(Configuration)" or "$(OutDir)". Thus, "--param build_config" is also deprecated. llvm-svn: 173616
* When the legalizer is splitting vector shifts, the result may not have the ↵Benjamin Kramer2013-01-272-2/+20
| | | | | | | | | | | | | | | right shift amount type. Fix that by adding a cast to the shift expander. This came up with vector shifts on sse-less X86 CPUs. <2 x i64> = shl <2 x i64> <2 x i64> -> i64,i64 = shl i64 i64; shl i64 i64 -> i32,i32,i32,i32 = shl_parts i32 i32 i64; shl_parts i32 i32 i64 Now we cast the last two i64s to the right type. Fixes the crash in PR14668. llvm-svn: 173615
* Fix miscompile. Add back the use of the ArrayRef version of the ::get method.Bill Wendling2013-01-272-3/+6
| | | | llvm-svn: 173613
* Rearrange some deckchairs. Moving the class before it's use.Bill Wendling2013-01-271-17/+16
| | | | llvm-svn: 173612
* Remove dead methods.Bill Wendling2013-01-272-23/+3
| | | | llvm-svn: 173611
* Re-revert r173342, without losing the compile time improvements, flatChandler Carruth2013-01-272-142/+12
| | | | | | out bug fixes, or functionality preserving refactorings. llvm-svn: 173610
* Renamed function IsPotentialUse to IsPotentialRetainableObjPtr.Michael Gottesman2013-01-271-18/+18
| | | | | | | | | This name change does the following: 1. Causes the function name to use proper ARC terminology. 2. Makes it clear what the function truly does. llvm-svn: 173609
* Fix test to not use the AttributeSet's AttributeWithIndex creation method.Bill Wendling2013-01-271-5/+5
| | | | llvm-svn: 173608
* Hide the method that creates an AttributeSet with AttributeWithIndexes.Bill Wendling2013-01-271-1/+5
| | | | | | | This method will go away once AttributeWithIndex goes away. In the meantime, hide it from general use. llvm-svn: 173607
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-7/+6
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173606
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-33/+33
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173603
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-25/+18
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173602
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-22/+15
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173601
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-27/+15
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173600
* Convert the CPP backend to use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-26/+37
| | | | | | Further removal of the introspective AttributeWithIndex thing. Also fix the #includes. llvm-svn: 173599
* Use the AttributeSet instead of AttributeWithIndex object.Bill Wendling2013-01-271-3/+2
| | | | llvm-svn: 173598
* PR14566: Debug Info: Removing top level lexical blocksDavid Blaikie2013-01-264-32/+83
| | | | | | | | | | This adds support for LLVM to accept metadata that doesn't include a top level lexical block in a function. Specifically LLVM couldn't handle this when there were file changes relating to these blocks. I've updated a few test cases to ensure other functionality (such as inlining) isn't affected by this change, but haven't pervasively updated all the test cases. llvm-svn: 173592
* IRBuilder: Remove redundant check around SetInstDebugLocation call.David Blaikie2013-01-261-2/+1
| | | | llvm-svn: 173591
* BBVectorize: Add a additional comment about the cost computationHal Finkel2013-01-261-0/+6
| | | | llvm-svn: 173580
* BBVectorize: Fix anomalous capital letter in commentHal Finkel2013-01-261-1/+1
| | | | llvm-svn: 173579
* X86: Decode PALIGN operands so I don't have to do it in my head.Benjamin Kramer2013-01-265-1/+67
| | | | llvm-svn: 173572
* Documentation: fix syntax errorDmitri Gribenko2013-01-261-1/+1
| | | | | | Patch by David Waggoner llvm-svn: 173571
* X86: Do splat promotion later, so the optimizer can chew on it first.Benjamin Kramer2013-01-263-27/+17
| | | | | | | | | | | | This catches many cases where we can emit a more efficient shuffle for a specific mask or when the mask contains undefs. Once the splat is lowered to unpacks we can't do that anymore. There is a possibility of moving the promotion after pshufb matching, but I'm not sure if pshufb with a mask loaded from memory is faster than 3 shuffles, so I avoided that for now. llvm-svn: 173569
* FileCheckize and merge some tests.Benjamin Kramer2013-01-264-127/+227
| | | | llvm-svn: 173568
* Object/RelocVisitor: Add minimal support, R_MIPS_32, for mips.NAKAMURA Takumi2013-01-262-0/+18
| | | | | | It fixes llvm-dwarfdump for mips and mipsel. llvm-svn: 173567
* Object/RelocVisitor: Add minimal support, R_PPC64_ADDR32, for ppc64.NAKAMURA Takumi2013-01-261-0/+16
| | | | | | It fixes llvm-dwarfdump for ppc64-elf. llvm-svn: 173566
* RelocVisitor::visit(): Set hasError in the default path.NAKAMURA Takumi2013-01-261-0/+1
| | | | llvm-svn: 173565
* fix use of std::std. it's ordered set.Reed Kotler2013-01-261-3/+3
| | | | llvm-svn: 173563
* DWARFDebugLine.cpp: Fix true path. Did you forget "return true" here?NAKAMURA Takumi2013-01-261-0/+2
| | | | llvm-svn: 173552
* Add DIContext::getLineInfoForAddressRange() function and test. This ↵Andrew Kaylor2013-01-268-8/+191
| | | | | | function allows a caller to obtain a table of line information for a function using the function's address and size. llvm-svn: 173537
* Convert BuildLibCalls.cpp to using the AttributeSet methods instead of ↵Bill Wendling2013-01-263-69/+75
| | | | | | AttributeWithIndex. llvm-svn: 173536
* A port of the Visual Studio 2012 debugger visualizers for common LLVM and ↵Aaron Ballman2013-01-251-0/+181
| | | | | | clang datatypes. Patch thanks to Nico Rieck! llvm-svn: 173532
* llvm/test/CMakeLists.txt: Add a dependency to llvm-rtdyld in check-llvm.NAKAMURA Takumi2013-01-251-0/+1
| | | | llvm-svn: 173528
* Remove unused variables, silences -Wunused-variableDmitri Gribenko2013-01-251-4/+2
| | | | llvm-svn: 173526
* Remove dead method.Bill Wendling2013-01-252-12/+0
| | | | llvm-svn: 173524
* Remove some introspection functions.Bill Wendling2013-01-2510-94/+143
| | | | | | | | The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. llvm-svn: 173522
* Initial implementation of PPCTargetTransformInfoHal Finkel2013-01-257-0/+277
| | | | | | | | | | This provides a place to add customized operation cost information and control some other target-specific IR-level transformations. The only non-trivial logic in this checkin assigns a higher cost to unaligned loads and stores (covered by the included test case). llvm-svn: 173520
* Fix a warning in the new DWARFheader. Add a new line at the end of the file.Nadav Rotem2013-01-251-1/+2
| | | | llvm-svn: 173518
* Add support for applying in-memory relocations to the .debug_line section ↵Andrew Kaylor2013-01-2513-11/+137
| | | | | | and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes. llvm-svn: 173517
* Add file to CMakeLists (file added in r173505)Dmitri Gribenko2013-01-251-0/+1
| | | | llvm-svn: 173513
* XFAIL close-stderr on win32Reid Kleckner2013-01-251-0/+3
| | | | | | | | The test runner does not rewrite instances of /dev/null inside the quoted sh command. /dev/null does not exist, so opt will fail to open it, and return a non-zero exit code. llvm-svn: 173509
OpenPOWER on IntegriCloud