summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "ScheduleDAGInstrs: Rework schedule graph builder."Matthias Braun2015-12-0316-277/+156
| | | | | | | | | | This works mostly fine but breaks some stage 1 builders when compiling compiler-rt on i386. Revert for further investigation as I can't see an obvious cause/fix. This reverts commit r254577. llvm-svn: 254586
* clang-format FunctionImport after refactoring (NFC)Mehdi Amini2015-12-031-9/+10
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254585
* Rename Set variable to be pluralMehdi Amini2015-12-031-3/+3
| | | | | | | Thanks Sean Silva for catching this. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254584
* Refactor FunctionImporter::importFunctions with a helper function to process ↵Mehdi Amini2015-12-031-29/+45
| | | | | | | | | the Worklist (NFC) This precludes some more functional changes to perform bulk imports. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254583
* Adapt comment and rename variable in ModuleLinker to describe more ↵Mehdi Amini2015-12-032-7/+9
| | | | | | | | | accurately the actual use. Thanks Sean Silva for the suggestion. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254582
* Remove "ExportingModule" from ThinLTO Index (NFC)Mehdi Amini2015-12-037-42/+16
| | | | | | | | | | | | | | | | | | | | | There is no real reason the index has to have the concept of an exporting Module. We should be able to have one single unique instance of the Index, and it should be read-only after creation for the whole ThinLTO processing. The linker plugin should be able to process multiple modules (in parallel or in sequence) with the same index. The only reason the ExportingModule was present seems to be to implement hasExportedFunctions() that is used by the Module linker to decide what to do with the current Module. For now I replaced it with a query to the map of Modules path to see if this module was declared in the Index and consider that if it is the case then it is probably exporting function. On the long term the Linker interface needs to evolve and this call should not be needed anymore. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 254581
* Add a TODO item that the nop handling before FP conditional branches isJoerg Sonnenberger2015-12-031-0/+2
| | | | | | not enough for SPARCv7. llvm-svn: 254580
* Fix a comment typo from r251874.Nico Weber2015-12-031-1/+1
| | | | llvm-svn: 254579
* COFF: Non-external COMDAT sections sholud not be merged by ICF.Rui Ueyama2015-12-033-3/+69
| | | | | | | | | | | | | If a section symbol is not external, that COMDAT section should never be merge with other sections in other compilation unit. Previously, we didn't take visibility into account. Note that COMDAT sections with non-external visibility makes sense because they can be removed by dead-stripping. Fixes https://llvm.org/bugs/show_bug.cgi?id=25686 llvm-svn: 254578
* ScheduleDAGInstrs: Rework schedule graph builder.Matthias Braun2015-12-0316-156/+277
| | | | | | | | | | | | | | | The new algorithm remembers the uses encountered while walking backwards until a matching def is found. Contrary to the previous version this: - Works without LiveIntervals being available - Allows to increase the precision to subregisters/lanemasks (not used for now) The changes in the AMDGPU tests are necessary because the R600 scheduler is not stable with respect to the order of nodes in the ready queues. Differential Revision: http://reviews.llvm.org/D9068 llvm-svn: 254577
* generalize CHECK lines to make buildbot happySanjay Patel2015-12-031-2/+2
| | | | llvm-svn: 254576
* RegisterPressure: Use range based for, fix else style; NFCMatthias Braun2015-12-031-41/+28
| | | | llvm-svn: 254575
* PR17381: Treat undefined behavior during expression evaluation as an unmodeledRichard Smith2015-12-0311-64/+92
| | | | | | | | | | | | | | | | | | | | | side-effect, so that we don't allow speculative evaluation of such expressions during code generation. This caused a diagnostic quality regression, so fix constant expression diagnostics to prefer either the first "can't be constant folded" diagnostic or the first "not a constant expression" diagnostic depending on the kind of evaluation we're doing. This was always the intent, but didn't quite work correctly before. This results in certain initializers that used to be constant initializers to no longer be; in particular, things like: float f = 1e100; are no longer accepted in C. This seems appropriate, as such constructs would lead to code being executed if sanitizers are enabled. llvm-svn: 254574
* change an assert when generating fmuladd to an ordinary 'if' check (PR25719)Sanjay Patel2015-12-032-11/+21
| | | | | | | | | | | | | | | | | | | We don't want to generate fmuladd if there's a use of the fmul expression, but this shouldn't be an assert. The test case is derived from the commit message for r253337: http://reviews.llvm.org/rL253337 That commit reverted r253269: http://reviews.llvm.org/rL253269 ...but the bug exists independently of the default fp-contract setting. It just became easier to hit with that change. PR25719: https://llvm.org/bugs/show_bug.cgi?id=25719 Differential Revision: http://reviews.llvm.org/D15165 llvm-svn: 254573
* [PGO] Add v2 format compatibility testXinliang David Li2015-12-032-0/+20
| | | | llvm-svn: 254572
* MC: Make sure to clear *all* of MCMachOStreamer's stateJustin Bogner2015-12-031-0/+1
| | | | | | | The CreatedADWARFSection flag was added in r232842, but isn't cleared properly when resetting the streamer's state. Fix that. llvm-svn: 254571
* [WebAssembly] Add a test for wasm-store-results passDerek Schuff2015-12-032-1/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D15167 llvm-svn: 254570
* [WebAssembly] Assert that byval and nest are not used for return types.Dan Gohman2015-12-021-4/+2
| | | | llvm-svn: 254567
* Rename a header guard to be more appropriateDavid Majnemer2015-12-021-2/+2
| | | | llvm-svn: 254566
* Forgot to add this file with r254562.David Majnemer2015-12-021-0/+41
| | | | llvm-svn: 254565
* [Hexagon] Improve lowering of instructions to the MC layerKrzysztof Parzyszek2015-12-023-24/+55
| | | | | | | | | - Add extenders when necessary. - Handle some basic relocations. This should fix the failure in tools/clang/test/CodeGenCXX/crash.cpp llvm-svn: 254564
* Fix test result serialization to use bytes.Zachary Turner2015-12-022-16/+21
| | | | llvm-svn: 254563
* Move EH-specific helper functions to a more appropriate placeDavid Majnemer2015-12-0220-147/+100
| | | | | | No functionality change is intended. llvm-svn: 254562
* fix typos; NFCSanjay Patel2015-12-021-2/+2
| | | | llvm-svn: 254561
* Fixup for r254547: use format_hex() to simplify code.Alexey Samsonov2015-12-021-2/+1
| | | | llvm-svn: 254560
* Switch the linker to having a whitelist of GVs.Rafael Espindola2015-12-022-55/+71
| | | | | | | | | | | | This replaces DoNotLinkFromSource with ValuesToLink. It also moves the computation of ValuesToLink earlier. It is a bit simpler and an important step in slitting the linker into an ir mover and a linker proper. The test change is because we now avoid creating dead declarations. llvm-svn: 254559
* Libfuzzer: do not pass null into user functionMike Aizatsky2015-12-022-1/+7
| | | | | | Differential Revision: http://reviews.llvm.org/D15098 llvm-svn: 254558
* Use std::string instead of strdup() and free() in WinCodeViewLineTablesReid Kleckner2015-12-022-15/+6
| | | | llvm-svn: 254557
* Delete what is now duplicated code.Rafael Espindola2015-12-023-38/+13
| | | | | | | | | Having to import an alias as declaration is not thinlto specific. The test difference are because when we already have a decl and we are not importing it, we just leave the decl alone. llvm-svn: 254556
* [llvm-dwp] Include only the non-empty columns in the cu_indexDavid Blaikie2015-12-022-8/+20
| | | | llvm-svn: 254555
* Add the `pass_object_size` attribute to clang.George Burgess IV2015-12-0233-216/+853
| | | | | | | | | | | | | `pass_object_size` is our way of enabling `__builtin_object_size` to produce high quality results without requiring inlining to happen everywhere. A link to the design doc for this attribute is available at the Differential review link below. Differential Revision: http://reviews.llvm.org/D13263 llvm-svn: 254554
* Sync up with master fileXinliang David Li2015-12-021-3/+7
| | | | llvm-svn: 254552
* [PGO] Allow input value node list to be nullXinliang David Li2015-12-021-3/+6
| | | | | | | This is to handle the case when vp node linked list array is laziliy initialized at runtime llvm-svn: 254551
* Candidate fixes for python2/3 compatible string handling in pickling support.Todd Fiala2015-12-022-4/+4
| | | | llvm-svn: 254550
* Fix a typo in LoopVectorize.cpp. NFC.Cong Hou2015-12-021-1/+1
| | | | llvm-svn: 254549
* [PowerPC] Remove wild call to RegScavenger::initRegState().Alexey Samsonov2015-12-022-6/+4
| | | | | | | | This call should in fact be made by RegScavenger::enterBasicBlock() called below. The first call does nothing except for triggering UB, indicated by UBSan (passing nullptr to memset()). llvm-svn: 254548
* [Hexagon] Remove std::hex in favor of format().Alexey Samsonov2015-12-021-5/+7
| | | | | | | | | std::hex is not used anywhere in LLVM code base except for this place, and it has a known undefined behavior (at least in libstdc++ 4.9.3): https://llvm.org/bugs/show_bug.cgi?id=18156, which fires in UBSan bootstrap of LLVM. llvm-svn: 254547
* Make --results-file stdout implied if unspecified when using a results ↵Todd Fiala2015-12-021-3/+13
| | | | | | | | formatter. Also cleans up pylint warnings (stock settings) in the modified function. llvm-svn: 254546
* Tests: PPC: remove unnecessary metadata. NFCKyle Butt2015-12-021-3/+0
| | | | | | Remove unnecessary metadata from a test case. llvm-svn: 254544
* Also copy private linkage globals when needed.Rafael Espindola2015-12-023-1/+16
| | | | | | | This was an omission when handling COFF style comdats with local keys. Should fix the sanitizer-windows bot. llvm-svn: 254543
* Re-enable UBSan tests for SystemZ: PR20980 was fixed.Alexey Samsonov2015-12-021-4/+0
| | | | llvm-svn: 254542
* Don't copy information from aliasee to alias.Rafael Espindola2015-12-025-22/+20
| | | | | | They are independent. llvm-svn: 254541
* AMDGPU/SI: Correctly emit agent global segment variables when targeting HSATom Stellard2015-12-0210-3/+301
| | | | | | Differential Revision: http://reviews.llvm.org/D14508 llvm-svn: 254540
* [Hexagon] Remove TFRI_V4 instruction, use existing A2_tfrsi insteadKrzysztof Parzyszek2015-12-021-20/+0
| | | | llvm-svn: 254539
* Fix linking when we copy over only a decl.Rafael Espindola2015-12-023-22/+55
| | | | | | | We were failing to copy the fact that the GV is weak and in the case of an alias, producing invalid IR. llvm-svn: 254538
* Fix the clang driver when "-nostdlib" is presentSumanth Gundapaneni2015-12-022-2/+17
| | | | | | | | | | This patch is a fix to r252901 which changed the behavior of clang driver. In the presence of "-nostdlib" none of the standard libraries should be passed to link line. Differential Revision: http://reviews.llvm.org/D15130 llvm-svn: 254535
* Use sub-commands instead of --mode={client,server}.Zachary Turner2015-12-023-37/+40
| | | | | | | This is more pythonic and allows a more idiomatic way of getting detailed usage information for each individual sub-command. llvm-svn: 254533
* [CodeGen]: Fix bad interaction with AntiDep breaking and inline asm.Kyle Butt2015-12-022-3/+314
| | | | | | | | | AggressiveAntiDepBreaker was renaming registers specified by the user for inline assembly. While this will work for compiler-specified registers, it won't work for user-specified registers, and at the time this runs, I don't currently see a way to distinguish them. llvm-svn: 254532
* Test Commit: iterateeKyle Butt2015-12-021-2/+2
| | | | | | Remove whitespace from blank lines. NFC llvm-svn: 254531
* Adds candidate formatter for replacing legacy summary results.Todd Fiala2015-12-024-88/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also cleans up some usages of strings where symbolic names were safer and made more sense. Try a test run with something like this to check out the new basic results formatter (not used by default): time test/dotest.py --executable `pwd`/build/Debug/lldb --results-formatter lldbsuite.test.basic_results_formatter.BasicResultsFormatter --results-file stdout This will yield something like: Testing: 1 test suites, 8 threads 1 out of 1 test suites processed - TestHelp.py Test Results Total Test Methods Run (excluding reruns): 13 Test Method rerun count: 0 =================== Test Result Summary =================== Success: 13 Expected Failure: 0 Failure: 0 Error: 0 Unexpected Success: 0 Skip: 0 Whereas something with a bit of error will look more like this: 42 out of 42 test suites processed - TestSymbolTable.py Test Results Total Test Methods Run (excluding reruns): 166 Test Method rerun count: 0 =================== Test Result Summary =================== Success: 93 Expected Failure: 10 Failure: 2 Error: 2 Unexpected Success: 0 Skip: 59 Details: FAIL: TestModulesInlineFunctions.ModulesInlineFunctionsTestCase.test_expr_dsym (/Users/tfiala/work/lldb-tot/git-svn/lldb/packages/Python/lldbsuite/test/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py) FAIL: TestModulesInlineFunctions.ModulesInlineFunctionsTestCase.test_expr_dwarf (/Users/tfiala/work/lldb-tot/git-svn/lldb/packages/Python/lldbsuite/test/lang/objc/modules-inline-functions/TestModulesInlineFunctions.py) ERROR: TestObjCCheckers.ObjCCheckerTestCase.test_objc_checker_dsym (/Users/tfiala/work/lldb-tot/git-svn/lldb/packages/Python/lldbsuite/test/lang/objc/objc-checker/TestObjCCheckers.py) ERROR: TestObjCCheckers.ObjCCheckerTestCase.test_objc_checker_dwarf (/Users/tfiala/work/lldb-tot/git-svn/lldb/packages/Python/lldbsuite/test/lang/objc/objc-checker/TestObjCCheckers.py) The Details header only prints if there are any issues to report. The Details section has tags that should get picked up using the normal issue text scrapers (e.g. buildbot). Test numbers reported are strictly test method runs. The rerun bit at the top is in support of the multi-pass test runner code (to run the low-load, single worker test pass for tests that failed the first run), which I'll be able to put up for review after this. ResultsFormatters now have the ability to indicate they replace the legacy summary, as this one does. Once we come to agreement on the exact format, I will switch us over to using this by default. llvm-svn: 254530
OpenPOWER on IntegriCloud