summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't crash when llvm.compiler.used becomes empty.Rafael Espindola2013-07-202-0/+21
| | | | | | | | GlobalOpt simplifies llvm.compiler.used by removing any members that are also in the more strict llvm.used. Handle the special case where llvm.compiler.used becomes empty. llvm-svn: 186778
* Don't allocate the DIBuilder on the heap and remove all the complexityChandler Carruth2013-07-201-16/+8
| | | | | | that ensued from that. llvm-svn: 186777
* Rename constructor parameters to follow the common member-shadowingChandler Carruth2013-07-201-3/+3
| | | | | | pattern and conform to the naming conventions. llvm-svn: 186776
* Reformat the implementation of mem2reg with clang-format so that myChandler Carruth2013-07-201-344/+360
| | | | | | subsequent changes don't introduce inconsistencies. llvm-svn: 186775
* Comment: try to clarify loop iteration order.Andrew Trick2013-07-201-0/+4
| | | | llvm-svn: 186774
* Remove a DenseMapInfo specialization for std::pair -- we have one ofChandler Carruth2013-07-201-20/+0
| | | | | | those baked into DenseMap now. llvm-svn: 186773
* Update mem2reg's comments to conform to the new doxygen standards. NoChandler Carruth2013-07-202-81/+69
| | | | | | functionality changed. llvm-svn: 186772
* Disallow global aliases to bitcast between address spacesMatt Arsenault2013-07-202-4/+23
| | | | llvm-svn: 186767
* Remove trailing whitespace, fix file path in commentMatt Arsenault2013-07-203-45/+45
| | | | llvm-svn: 186766
* SROA: Microoptimization: Remove dead entries first, then sort.Benjamin Kramer2013-07-201-9/+4
| | | | | | While there replace an explicit struct with std::mem_fun. llvm-svn: 186761
* InstCombine: call FoldOpIntoSelect for all floating binops, not just fmulStephen Lin2013-07-203-3/+94
| | | | llvm-svn: 186759
* Have InlineCost check constant fcmpsMatt Arsenault2013-07-202-4/+39
| | | | llvm-svn: 186758
* Add Option unit tests to the make buildHans Wennborg2013-07-202-2/+25
| | | | | | Previously, they were only built and run in the CMake build. llvm-svn: 186756
* Debug Info Verifier: simplify DIxxx::VerifyManman Ren2013-07-203-28/+23
| | | | | | | | Simplify DIxxx:Verify to not call Verify on an operand. Instead, we use DebugInfoFinder to list all MDNodes that should be a DIScope and all MDNodes that should be a DIType and we will call Verify on those lists. llvm-svn: 186737
* Fix size_t -> uint warnings with MSVC 64-bit buildMatt Arsenault2013-07-204-15/+15
| | | | llvm-svn: 186736
* Refactor AnalyzeBranch on ARM. The previous version did not always analyzeLang Hames2013-07-193-91/+102
| | | | | | | | | | | | | | | | | | indirect branches correctly. Under some circumstances, this led to the deletion of basic blocks that were the destination of indirect branches. In that case it left indirect branches to nowhere in the code. This patch replaces, and is more general than either of the previous fixes for indirect-branch-analysis issues, r181161 and r186461. For other branches (not indirect) this refactor should have *almost* identical behavior to the previous version. There are some corner cases where this refactor is able to analyze blocks that the previous version could not (e.g. this necessitated the update to thumb2-ifcvt2.ll). <rdar://problem/14464830> llvm-svn: 186735
* Retry submitting r186623: COFFDumper: Dump data directory entries.Rui Ueyama2013-07-195-48/+120
| | | | | | | | The original change was rolled back in r186627 because of test failures on the big endian machine. I believe I fixed the issue so re-submitting. llvm-svn: 186734
* fix an 80-col line.Nadav Rotem2013-07-191-2/+2
| | | | llvm-svn: 186733
* Use LLVMs ADTs that improve the compile time of this pass.Nadav Rotem2013-07-191-2/+2
| | | | llvm-svn: 186732
* SLPVectorizer: Improve the compile time of isConsecutive by reordering the ↵Nadav Rotem2013-07-191-22/+19
| | | | | | conditions that check GEPs and eliminate two of the calls to accumulateConstantOffset. llvm-svn: 186731
* R600: Don't emit empty then clause and use alu_pop_afterVincent Lejeune2013-07-196-17/+175
| | | | llvm-svn: 186725
* R600: Simplify AMDILCFGStructurize by removing templates and assuming single ↵Vincent Lejeune2013-07-193-2494/+1324
| | | | | | exit llvm-svn: 186724
* R600: Replace legacy debug code in AMDILCFGStructurizer.cppVincent Lejeune2013-07-191-228/+235
| | | | llvm-svn: 186723
* Fix inserting new elements in a specified location.Rafael Espindola2013-07-192-7/+38
| | | | | | We were only handling the 'a' and 'b' options during moves before. llvm-svn: 186721
* s/compiler_used/compiler.used/.Rafael Espindola2013-07-195-13/+13
| | | | | | | We were incorrectly using compiler_used instead of compiler.used. Unfortunately the passes using the broken name had tests also using the broken name. llvm-svn: 186705
* Add some flag exclusion tests.Reid Kleckner2013-07-192-12/+49
| | | | llvm-svn: 186704
* [Option] Add inclusion and exclusion flags to option parsingReid Kleckner2013-07-192-8/+36
| | | | | | | | | | | | | | | | | | | Summary: This allows the clang driver to put MSVC compatible options in the same enumerator space as its normal options but exclude them from normal option parsing. Also changes the standard ParseArgs() method to consider unknown arguments with a leading slash as being inputs rather than flags. High level discussion for clang-cl is here: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-June/030404.html CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1049 llvm-svn: 186703
* lit: Support cancellation on WindowsNico Rieck2013-07-191-0/+21
| | | | | | | | | | | | The current machinery using KeyboardInterrupt for canceling doesn't work with multiple threads on Windows as it just cancels the currently run tests but the runners continue. We install a handler for Ctrl-C which stops the provider from providing any more tests to the runners. Together with aborting all currently running tests, this brings lit to a halt. llvm-svn: 186695
* Add a line that got missed off somehow. Sorry about that!Joey Gouly2013-07-191-0/+1
| | | | llvm-svn: 186692
* [SystemZ] Add tests for ALHSIK and ALGHSIKRichard Sandiford2013-07-194-0/+147
| | | | | | | The insn definitions themselves crept into r186689, sorry. This should be the last of the distinct-ops instructions. llvm-svn: 186690
* [SystemZ] Add ALRK, AGLRK, SLRK and SGLRKRichard Sandiford2013-07-199-8/+152
| | | | | | | Follows the same lines as r186686, but much more limited, since we only use ADD LOGICAL for multi-i64 additions. llvm-svn: 186689
* [ARMv8] Implement the NEON instructions VRINT{N, X, A, Z, M, P}.Joey Gouly2013-07-197-0/+190
| | | | llvm-svn: 186688
* [SystemZ] Add AHIK and AGHIKRichard Sandiford2013-07-198-2/+270
| | | | | | | I did these as a separate patch because it uses a slightly different form of RIE layout. llvm-svn: 186687
* [SystemZ] Add ARK, AGRK, SRK and SGRKRichard Sandiford2013-07-1914-12/+186
| | | | | | The testsuite changes follow the same lines as for r186683. llvm-svn: 186686
* [SystemZ] Add NGRK, OGRK and XGRKRichard Sandiford2013-07-1915-10/+148
| | | | | | Like r186683, but for 64 bits. llvm-svn: 186685
* Initialize TempFileHandle.Serge Pavlov2013-07-191-1/+1
| | | | llvm-svn: 186684
* [SystemZ] Add NRK, ORK and XRKRichard Sandiford2013-07-1915-10/+163
| | | | | | | | | | | | The atomic tests assume the two-operand forms, so I've restricted them to z10. Running and-01.ll, or-01.ll and xor-01.ll for z196 as well as z10 shows why using convertToThreeAddress() is better than exposing the three-operand forms first and then converting back to two operands where possible (which is what I'd originally tried). Using the three-operand form first stops us from taking advantage of NG, OG and XG for spills. llvm-svn: 186683
* ARM: Add instruction aliases for the Thumb2 PLD/PLDW (literal) alternate form.Tilmann Scheller2013-07-193-1/+16
| | | | | | | | See A8.8.127 in ARM DDI 0406C.b. Related to <rdar://problem/14403733>. llvm-svn: 186682
* [SystemZ] Use SLLK, SRLK and SRAK for codegenRichard Sandiford2013-07-194-5/+136
| | | | | | This patch uses the instructions added in r186680 for codegen. llvm-svn: 186681
* [SystemZ] Start adding z196 and zEC12 supportRichard Sandiford2013-07-1911-22/+309
| | | | | | | | | | | | This first step just adds definitions for SLLK, SRLK and SRAK. The next patch will actually make use of them during codegen. insn-bad.s tests that some form of error is reported when using these instructions on z10. More work is needed to get the "instruction requires: distinct-ops" that we'd ideally like, so I've stubbed that part out for now. I'll come back and make it mandatory once the necessary changes are in. llvm-svn: 186680
* Split openFileForWrite into windows and unix versions.Rafael Espindola2013-07-194-30/+92
| | | | | | It is similar to 186511, but for creating files for writing. llvm-svn: 186679
* Add a unit test for checking that we respect the F_Binary flag.Rafael Espindola2013-07-191-0/+31
| | | | llvm-svn: 186676
* Cleanup the stats counters for the new implementation. These actuallyChandler Carruth2013-07-191-12/+36
| | | | | | count the right things and have the right names. llvm-svn: 186667
* Fix another assert failure very similar to PR16651's test case. ThisChandler Carruth2013-07-192-2/+24
| | | | | | | test case came from Benjamin and found the parallel bug in the vector promotion code. llvm-svn: 186666
* ARM: delete two tests now integrated into the larger filesTim Northover2013-07-192-19/+0
| | | | | | | | Somehow forgot to git rm these two files. I believe I left the remaining invalid* tests intentionally, though whether my reasons were sound is a different matter. llvm-svn: 186663
* ARM: remove invalid invalid testsTim Northover2013-07-192-32/+0
| | | | | | | | | | | The tests were checking for barriers which the ARM ARM says they must execute as a full system DMB/DSB, rather than that they're UNDEFINED and LLVM does in fact represent them. The tests happened to be passing because they were using a non-versioned ARM triple which didn't have *any* DMB/DSB instructions. llvm-svn: 186662
* Improve llvm-mc disassembler mode and refactor ARM tests to use itTim Northover2013-07-1964-623/+1032
| | | | | | | | | | | | | | | | | | This allows "llvm-mc -disassemble" to accept two new features: + Using comma as a byte separator + Grouping bytes with '[' and ']' pairs. The behaviour outside a [...] group is unchanged. But within the group once llvm-mc encounters a true error, it stops rather than trying to resynchronise the stream at the next byte. This is more useful for disassembly tests, where we have an almost-instruction in mind and don't care what the misaligned interpretation would be. Particularly if it means llvm-mc won't actually see the next intended almost-instruction. As a side effect, this means llvm-mc can disassemble its own -show-encoding output if copy-pasted. llvm-svn: 186661
* Try to move to a more reasonable set of naming conventions given the newChandler Carruth2013-07-191-322/+305
| | | | | | | | | | | | | | | | implementation of the SROA algorithm. We were using the term 'partition' in many places that no longer ever represented an actual partition, but rather just an arbitrary slice of an alloca. No functionality change intended here. Mostly just renaming of types, functions, variables, and rewording of comments. Several comments were rewritten to make a lot more sense in the new structure of things. The stats are still weird and not reflective of how this really works. I'll fix those up in a separate patch as it is a touch more semantic of a change... llvm-svn: 186659
* Fix uninitialized memory read found by MemorySanitizer: always set output ↵Alexey Samsonov2013-07-191-1/+1
| | | | | | parameter of ConvergingScheduler::SchedBoundary::getOtherResourceCount llvm-svn: 186658
* A long overdue cleanup in SROA to use 'DL' instead of 'TD' for theChandler Carruth2013-07-191-123/+123
| | | | | | DataLayout variables. llvm-svn: 186656
OpenPOWER on IntegriCloud