summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Actually test that the local static variable from myJohn McCall2014-01-301-2/+11
| | | | | | test in r200380 gets linkonce_odr linkage. llvm-svn: 200437
* Remove dead code.Rafael Espindola2014-01-301-1/+0
| | | | llvm-svn: 200436
* Use an Itanium triple in DWARF debug info testsTimur Iskhodzhanov2014-01-3014-14/+27
| | | | | | This should fix the clang part of the breakage in r200340. llvm-svn: 200435
* Revert r200431 due to bot failures.Manman Ren2014-01-303-99/+12
| | | | llvm-svn: 200434
* Fix TLS handling in ELF's getAddress and llvm-nm to print 'D' for it.Rafael Espindola2014-01-303-2/+4
| | | | llvm-svn: 200433
* [libunwind] remove stray conditionalNick Kledzik2014-01-301-4/+0
| | | | llvm-svn: 200432
* PGO branch weight: update edge weights in SelectionDAGBuilder.Manman Ren2014-01-303-12/+99
| | | | | | | | When converting from "or + br" to two branches, or converting from "and + br" to two branches, we correctly update the edge weights of the two branches. llvm-svn: 200431
* Objective-C [IRGen]. Generator a tail call to objc_getProperty() in Fariborz Jahanian2014-01-304-5/+9
| | | | | | | synthesized getters for performance improvement. // rdar://15884113 llvm-svn: 200430
* <rdar://problem/15936507>Enrico Granata2014-01-291-0/+1
| | | | | | | | PyTuple_SetItem steals a reference to the item it inserts in the tuple This, plus the Py_XDECREF of the tuple a few lines below, causes our session dictionary to go away after the first time a SWIG layer function is called - with disastrous effects for the first subsequent attempt to use any functionality in ScriptInterpreterPython This fixes it llvm-svn: 200429
* PGO branch weight: update edge weights in IfConverter.Manman Ren2014-01-295-1/+101
| | | | | | | | | | | | | This commit only handles IfConvertTriangle. To update edge weights of a successor, one interface is added to MachineBasicBlock: /// Set successor weight of a given iterator. setSuccWeight(succ_iterator I, uint32_t weight) An existing testing case test/CodeGen/Thumb2/v8_IT_5.ll is updated, since we now correctly update the edge weights, the cold block is placed at the end of the function and we jump to the cold block. llvm-svn: 200428
* IndependentBlocks: Do not assert for PHI nodes outside of scopsTobias Grosser2014-01-292-1/+36
| | | | | | | | There does not seem to be a reason that we can not support PHI nodes outside of the scop that reference values within the SCoP. Or at least, the attached test case seems to do the right thing. We remove the assert for now. llvm-svn: 200427
* Move range handling for a function to endFunction rather thanEric Christopher2014-01-291-5/+5
| | | | | | when we create the subprogram DIE. llvm-svn: 200426
* If we use DW_AT_ranges we need to specify a base address that rangesEric Christopher2014-01-292-2/+12
| | | | | | | | are relative to in the compile unit. Currently let's just use 0... Thanks to Greg Clayton for the catch! llvm-svn: 200425
* Consolidating several table-generated files containing parser-related string ↵Aaron Ballman2014-01-297-200/+148
| | | | | | | | switches into a single file. This reduces build-related complexity by replacing four separate projects (and table-gen instantiations) with a single one. No functional changes intended. llvm-svn: 200424
* Sema: Diagnose improper application of inheritance keywordsDavid Majnemer2014-01-298-29/+113
| | | | | | | | | | | We would previously allow inappropriate inheritance keywords to appear on class declarations. We would also allow inheritance keywords on templates which were not fully specialized; this was divergent from MSVC. Differential Revision: http://llvm-reviews.chandlerc.com/D2585 llvm-svn: 200423
* Turn on CU ranges if we've got multiple compile units in the sameEric Christopher2014-01-292-9/+11
| | | | | | | | module since there's no range guarantee that we could make given output order. This also fixes up the testcases that have multiple CUs to have the correct range offset. llvm-svn: 200422
* Make the compile unit map a MapVector so that we can assume a stableEric Christopher2014-01-292-3/+5
| | | | | | output ordering. llvm-svn: 200421
* Fix formatting of comment.Eric Christopher2014-01-291-4/+2
| | | | llvm-svn: 200420
* llvm-cov: Accept the long forms of gcov optionsJustin Bogner2014-01-291-0/+6
| | | | | | | | | This is a bit imperfect, as these options don't show up in the help as is and single dash variants are accepted, which differs from gcov. Unfortunately, this seems to be as good as it gets with the cl::opt machinery, so it'll do as an incremental step. llvm-svn: 200419
* llvm-cov: Improve help message textJustin Bogner2014-01-291-22/+21
| | | | | | | | This Properly capitalizes and clarifies the help output from llvm-cov. It also puts the llvm-only / non-gcov-compatible options in their own category. llvm-svn: 200418
* llvm-cov: Expect a source file as a positional parameterJustin Bogner2014-01-292-23/+27
| | | | | | | | | | | Currently, llvm-cov isn't command-line compatible with gcov, which accepts a source file name as its first parameter and infers the gcno and gcda file names from that. This change keeps our -gcda and -gcno options available for convenience in overriding this behaviour, but adds the required parameter and inference behaviour as a compatible default. llvm-svn: 200417
* Updated README.TXT with information about using DESTDIR and building with Ninja.Tom Stellard2014-01-291-3/+18
| | | | | | Patch by: Dan Liew llvm-svn: 200416
* Fixed rules names so they are unique when aliases are present.Tom Stellard2014-01-291-3/+5
| | | | | | | | | This is necessary for building with Ninja because it does not allow duplicate rule names. Patch by: Dan Liew llvm-svn: 200415
* Fixed ninja build issues relating to use of $(DESTDIR)Tom Stellard2014-01-292-7/+15
| | | | | | | | | | We use ${DESTDIR} syntax now instead of $(DESTDIR) because that syntax works both is the shell (at least it does for bash) and for make (at least it does for GNU Make) Patch By: Dan Liew llvm-svn: 200414
* Enforce python2 for systems that use python3 as their default.Tom Stellard2014-01-291-1/+1
| | | | | | Patch by: Dan Liew llvm-svn: 200413
* Remove C++11ism from r200407.Jordan Rose2014-01-291-1/+1
| | | | | | Oops! llvm-svn: 200412
* ScopDetect: Transitively remove all children after region expansionTobias Grosser2014-01-292-3/+67
| | | | | | | | | | | | | | In rare cases, a region R which is itself not valid has an indirect child region that is valid. When R becomes part of a valid region by expansion of another region, then all children of R have to be erased from the set of valid regions. This patch ensures that indirect children are erased in addition to direct children. Contributed-by: Armin Groesslinger <armin.groesslinger@uni-passau.de> Tobias: I added a reduced test case and adjusted the logic of the patch to only recurse until the first child is found. llvm-svn: 200411
* Add missing doxygen commentTobias Grosser2014-01-291-1/+3
| | | | llvm-svn: 200410
* MC: Better management of macro argumentsDavid Majnemer2014-01-293-75/+38
| | | | | | | | | | | | The linux kernel makes uses of a GAS `feature' which substitutes nothing for macro arguments which aren't specified. Proper support for these kind of macro arguments necessitated a cleanup of differences between `GAS' and `Darwin' dialect macro processing. Differential Revision: http://llvm-reviews.chandlerc.com/D2634 llvm-svn: 200409
* LoopVectorizer: Add a test case for unrolling of small loops that need a runtimeArnold Schwaighofer2014-01-291-0/+23
| | | | | | check. llvm-svn: 200408
* [CommandLine] Aliases require an value if their target requires a value.Jordan Rose2014-01-293-2/+70
| | | | | | | | | This can still be overridden by explicitly setting a value requirement on the alias option, but by default it should be the same. PR18649 llvm-svn: 200407
* clang-format: More custom option fixes for protocol buffer files.Daniel Jasper2014-01-292-1/+5
| | | | | | | | | | | | | | | Before: repeated double value = 1 [(aaaaaaa.aaaaaaaaa) = { aaaaaaaaaaaaaaaa : AAAAAAAAAA, bbbbbbbbbbbbbbbb : BBBBBBBBBB }]; After: repeated double value = 1 [(aaaaaaa.aaaaaaaaa) = {aaaaaaaaaaaaaaaa : AAAAAAAAAA, bbbbbbbbbbbbbbbb : BBBBBBBBBB}]; llvm-svn: 200406
* clang-format: Fix formatting of custom proto options.Daniel Jasper2014-01-292-1/+3
| | | | | | | | | | | | | Before: repeated double value = 1 [(aaaaaaa.aaaaaaaaa) = { aaaaaaaaaaaaaaaaa : AAAAAAAA }]; After: repeated double value = 1 [(aaaaaaa.aaaaaaaaa) = {aaaaaaaaaaaaaaaaa : AAAAAAAA}]; llvm-svn: 200405
* Add support for PC-relative non-extern relocations to RuntimeDyldMachO.Lang Hames2014-01-292-6/+18
| | | | | | | | | Also replaces testcase for r180790 (support for absolute non-externs relocs) with a more robust version. <rdar://problem/15864721> llvm-svn: 200404
* [X86][SchedModel] Fix typos in the definitions of the ports for Haswell.Quentin Colombet2014-01-291-6/+8
| | | | llvm-svn: 200403
* Don't crash when trying to auto complete 'breakpoint set -n "_'Greg Clayton2014-01-291-1/+1
| | | | | | <rdar://problem/15921898> llvm-svn: 200402
* Test commitOliver Stannard2014-01-291-0/+1
| | | | llvm-svn: 200401
* [mips][msa] Add fill.d instruction.Matheus Almeida2014-01-294-2/+39
| | | | | | | This instruction is only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200400
* [mips][msa] CHECK-DAG-ize MSA 2r_vector_scalar.ll test.Matheus Almeida2014-01-291-27/+29
| | | | | | | | This update is a preparation for the addition of Mips64 MSA tests. No functional changes. llvm-svn: 200399
* [mips][msa] Add copy_{u,s}.d.Matheus Almeida2014-01-295-14/+92
| | | | | | | These instructions are only available on Mips64 cores that implement the MSA ASE. llvm-svn: 200398
* Support ARMv4 in the remaining non-VFP routines.Joerg Sonnenberger2014-01-293-7/+7
| | | | llvm-svn: 200397
* Move JMP/JMPc definition into assembly.h's ARM block.Joerg Sonnenberger2014-01-296-34/+8
| | | | llvm-svn: 200396
* [mips][msa] CHECK-DAG-ize MSA elm_copy.ll test.Matheus Almeida2014-01-291-46/+64
| | | | | | | | This update is a preparation for the addition of Mips64 MSA tests. No functional changes. llvm-svn: 200395
* Optimized implementation of __clzdi2 and __clzsi2 for ARM. Written inJoerg Sonnenberger2014-01-292-0/+170
| | | | | | | | collaboration with Matt Thomas. Differential Revision: http://llvm-reviews.chandlerc.com/D2630 llvm-svn: 200394
* [LPM] Fix PR18643, another scary place where loop transforms failed toChandler Carruth2014-01-294-50/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | preserve loop simplify of enclosing loops. The problem here starts with LoopRotation which ends up cloning code out of the latch into the new preheader it is buidling. This can create a new edge from the preheader into the exit block of the loop which breaks LoopSimplify form. The code tries to fix this by splitting the critical edge between the latch and the exit block to get a new exit block that only the latch dominates. This sadly isn't sufficient. The exit block may be an exit block for multiple nested loops. When we clone an edge from the latch of the inner loop to the new preheader being built in the outer loop, we create an exiting edge from the outer loop to this exit block. Despite breaking the LoopSimplify form for the inner loop, this is fine for the outer loop. However, when we split the edge from the inner loop to the exit block, we create a new block which is in neither the inner nor outer loop as the new exit block. This is a predecessor to the old exit block, and so the split itself takes the outer loop out of LoopSimplify form. We need to split every edge entering the exit block from inside a loop nested more deeply than the exit block in order to preserve all of the loop simplify constraints. Once we try to do that, a problem with splitting critical edges surfaces. Previously, we tried a very brute force to update LoopSimplify form by re-computing it for all exit blocks. We don't need to do this, and doing this much will sometimes but not always overlap with the LoopRotate bug fix. Instead, the code needs to specifically handle the cases which can start to violate LoopSimplify -- they aren't that common. We need to see if the destination of the split edge was a loop exit block in simplified form for the loop of the source of the edge. For this to be true, all the predecessors need to be in the exact same loop as the source of the edge being split. If the dest block was originally in this form, we have to split all of the deges back into this loop to recover it. The old mechanism of doing this was conservatively correct because at least *one* of the exiting blocks it rewrote was the DestBB and so the DestBB's predecessors were fixed. But this is a much more targeted way of doing it. Making it targeted is important, because ballooning the set of edges touched prevents LoopRotate from being able to split edges *it* needs to split to preserve loop simplify in a coherent way -- the critical edge splitting would sometimes find the other edges in need of splitting but not others. Many, *many* thanks for help from Nick reducing these test cases mightily. And helping lots with the analysis here as this one was quite tricky to track down. llvm-svn: 200393
* Remove -arm-enable-ehabi from Android build rules. It's enabled by default.Evgeniy Stepanov2014-01-291-1/+1
| | | | llvm-svn: 200392
* Remove -arm-enable-ehabi from Android build rules. It's enabled by default.Evgeniy Stepanov2014-01-291-1/+1
| | | | llvm-svn: 200391
* Document EHABI enabled by defaultRenato Golin2014-01-291-0/+3
| | | | llvm-svn: 200390
* Enable EHABI by defaultRenato Golin2014-01-2923-58/+63
| | | | | | | | | | | | | | | | | | | | | | After all hard work to implement the EHABI and with the test-suite passing, it's time to turn it on by default and allow users to disable it as a work-around while we fix the eventual bugs that show up. This commit also remove the -arm-enable-ehabi-descriptors, since we want the tables to be printed every time the EHABI is turned on for non-Darwin ARM targets. Although MCJIT EHABI is not working yet (needs linking with the right libraries), this commit also fixes some relocations on MCJIT regarding the EH tables/lib calls, and update some tests to avoid using EH tables when none are needed. The EH tests in the test-suite that were previously disabled on ARM now pass with these changes, so a follow-up commit on the test-suite will re-enable them. llvm-svn: 200388
* [asan] increase the buffer size for printing asan legend, add a test for legendKostya Serebryany2014-01-292-1/+4
| | | | llvm-svn: 200387
OpenPOWER on IntegriCloud