summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Support] Add a checked flag to Expected<T>, require checks before access orLang Hames2016-04-052-27/+136
| | | | | | | | | | destruction. This makes the Expected<T> class behave like Error, even when in success mode. Expected<T> values must be checked to see whether they contain an error prior to being dereferenced, assigned to, or destructed. llvm-svn: 265446
* [GlobalISel] Add a class, RegisterBank, to represent register banks.Quentin Colombet2016-04-053-0/+108
| | | | llvm-svn: 265445
* fixed to discard earlier advertisingSanjay Patel2016-04-051-3/+4
| | | | | | | Also, hardcode (there must be a better way...) the 'utils' dir in the advertisement, so it's easier to find. llvm-svn: 265444
* Fix a crasher that could happen if ClangASTSource::CompleteType() found a ↵Greg Clayton2016-04-051-3/+3
| | | | | | | | type whose name matched, but came from a different language. We need to verify that any types we find are clang types before trying to extra a clang::QualType and then use it. <rdar://problem/24138711> llvm-svn: 265443
* fix typo; NFCSanjay Patel2016-04-051-1/+1
| | | | llvm-svn: 265442
* [AArch64][Test] Do not override the suffixes for test cases.Quentin Colombet2016-04-052-3/+1
| | | | llvm-svn: 265441
* [GlobalISel] Add the skeleton of the RegBankSelect pass.Quentin Colombet2016-04-055-0/+146
| | | | | | | This pass is reponsible for assigning the generic virtual registers to register banks. llvm-svn: 265440
* Fix broken tests from no-jump-table commitNirav Dave2016-04-056-17/+21
| | | | | | | | | | | | Summary: Fix failing tests from no-jump-table flag addition Reviewers: jyknight Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18801 llvm-svn: 265439
* [Support] clang-format Error.h.Lang Hames2016-04-051-22/+13
| | | | | | This tidies up the ExitOnError class and some other recently added code. NFC. llvm-svn: 265438
* [STATS] Remove trailing whitespace in stats source filesJonathan Peyton2016-04-054-40/+40
| | | | llvm-svn: 265437
* [CUDA] Show --cuda-gpu-arch option in clang --help.Justin Lebar2016-04-051-2/+2
| | | | | | For some reason it was hidden. llvm-svn: 265436
* [CUDA] Add -fcuda-flush-denormals-to-zero.Justin Lebar2016-04-057-0/+46
| | | | | | | | | | | | | | | | | | Summary: Setting this flag causes all functions are annotated with the "nvvm-f32ftz" = "true" attribute. In addition, we annotate the module with "nvvm-reflect-ftz" set to 0 or 1, depending on whether -cuda-flush-denormals-to-zero is set. This is read by the NVVMReflect pass. Reviewers: tra, rnk Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18671 llvm-svn: 265435
* fix documentation comments; NFCSanjay Patel2016-04-051-39/+34
| | | | llvm-svn: 265434
* Swift Calling Convention: swifterror target-independent change.Manman Ren2016-04-057-4/+391
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At IR level, the swifterror argument is an input argument with type ErrorObject**. For targets that support swifterror, we want to optimize it to behave as an inout value with type ErrorObject*; it will be passed in a fixed physical register. The main idea is to track the virtual registers for each swifterror value. We define swifterror values as AllocaInsts with swifterror attribute or a function argument with swifterror attribute. In SelectionDAGISel.cpp, we set up swifterror values (SwiftErrorVals) before handling the basic blocks. When iterating over all basic blocks in RPO, before actually visiting the basic block, we call mergeIncomingSwiftErrors to merge incoming swifterror values when there are multiple predecessors or to simply propagate them. There, we create a virtual register for each swifterror value in the entry block. For predecessors that are not yet visited, we create virtual registers to hold the swifterror values at the end of the predecessor. The assignments are saved in SwiftErrorWorklist and will be materialized at the end of visiting the basic block. When visiting a load from a swifterror value, we copy from the current virtual register assignment. When visiting a store to a swifterror value, we create a virtual register to hold the swifterror value and update SwiftErrorMap to track the current virtual register assignment. Differential Revision: http://reviews.llvm.org/D18108 llvm-svn: 265433
* Fix missing period in no-jump-table flag comment. NFC.Nirav Dave2016-04-051-1/+1
| | | | llvm-svn: 265432
* add tests to show missing optimization from D18230Sanjay Patel2016-04-051-0/+59
| | | | llvm-svn: 265431
* add example usage and workflow to --help outputSanjay Patel2016-04-051-2/+25
| | | | llvm-svn: 265430
* llvm-dwp: Simplify hashing code a bitDavid Blaikie2016-04-051-1/+2
| | | | llvm-svn: 265426
* Add -fno-jump-tables and-fjump-tables flagsNirav Dave2016-04-056-0/+22
| | | | | | | | | | | | | Add no-jump-tables flag to disable use of jump tables when lowering switch statements Reviewers: echristo, hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18407 llvm-svn: 265425
* Fix formatting.Rui Ueyama2016-04-051-1/+1
| | | | llvm-svn: 265424
* Add test case forgotten in r265379.Tobias Grosser2016-04-051-0/+52
| | | | | | Thanks Johannes for reminding me. llvm-svn: 265423
* Fix dotest.py '-p' option for multi-process modeStephane Sezer2016-04-051-0/+4
| | | | | | | | | | | | | | | | | Summary: The '-p' option for dotest.py was ignored in multiprocess mode, as the -p argument to the inferior would overwrite the -p argument passed on the command line. Reviewers: zturner, tfiala Subscribers: lldb-commits, sas Differential Revision: http://reviews.llvm.org/D18779 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 265422
* Update watchpoint help to use new -s flagStephane Sezer2016-04-051-7/+7
| | | | | | | | | | | | | | Summary: Flag updated in D233237 Reviewers: spyffe, jingham, Eugene.Zelenko Subscribers: lldb-commits, sas Differential Revision: http://reviews.llvm.org/D18660 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 265421
* Print environment when dumping arch tripleStephane Sezer2016-04-051-0/+4
| | | | | | | | | | | | | | Summary: Print environment from triple if it exists. Reviewers: tfiala, clayborg Subscribers: lldb-commits, sas Differential Revision: http://reviews.llvm.org/D18620 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 265420
* Make sure to update Target arch if environment changedStephane Sezer2016-04-051-1/+1
| | | | | | | | | | | | | | Summary: Fixes "target list" for non-android linux platforms (ie gnu, gnueabi) Reviewers: jasonmolenda, tfiala, clayborg, tberghammer Subscribers: tberghammer, danalbert, lldb-commits, sas Differential Revision: http://reviews.llvm.org/D18631 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 265419
* Allow gdbremote process to read modules from memoryStephane Sezer2016-04-055-63/+22
| | | | | | | | | | | | | | | | | | | | | | Summary: The logic to read modules from memory was added to LoadModuleAtAddress in the dynamic loader, but not in process gdb remote. This means that when the remote uses svr4 packets to give library info, libraries only present on the remote will not be loaded. This patch therefore involves some code duplication from LoadModuleAtAddress in the dynamic loader, but removing this would require some amount of code refactoring. Reviewers: ADodds, tberghammer, tfiala, deepak2427, ted Subscribers: tfiala, lldb-commits, sas Differential Revision: http://reviews.llvm.org/D18531 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 265418
* [InstCombine] regenerate checksSanjay Patel2016-04-0510-81/+89
| | | | | | | | | utils/update_test_checks.py was improved with: http://reviews.llvm.org/rL265414 to CHECK-NEXT the first line of the IR function. This ensures that nothing bad has happened before that. llvm-svn: 265417
* [x86] regenerate checksSanjay Patel2016-04-053-43/+86
| | | | | | | | | | | utils/update_test_checks.py was improved with: http://reviews.llvm.org/rL265414 to include the first line of the function (expected to be a comment line). This ensures that nothing bad has happened before the first actual line of checked asm. It also matches the existing behavior of the old script. llvm-svn: 265416
* WebAssembly: fix cfg-stackify testJF Bastien2016-04-051-10/+10
| | | | | | It was broken by reshuffling induced by r265397 'Don't delete empty preheaders in CodeGenPrepare if it would create a critical edge'. llvm-svn: 265415
* check or check-next the first line of the function tooSanjay Patel2016-04-051-5/+15
| | | | | | | | | | | | | | | | We could make this an option if people don't like it. But since part of the reason for using a script to generate checks is to prevent lazy checking that lets bugs crawl through, let's have the script check the first line too. For asm tests, it ensures that nothing unexpected has happened before the first line of asm. This matches the existing behavior of update_llc_test_checks.py. More discussion in PR22897: https://llvm.org/bugs/show_bug.cgi?id=22897 llvm-svn: 265414
* Remove dead code and comment [NFC]Johannes Doerfert2016-04-051-11/+1
| | | | llvm-svn: 265413
* [TableGen] AsmMatcherEmitter.cpp: replace a sequence of "if" to "switch" in ↵Valery Pykhtin2016-04-051-2/+6
| | | | | | | | emitValidateOperandClass. Differential Revision: http://reviews.llvm.org/D18394 llvm-svn: 265412
* [lanai] LanaiSetflagAluCombiner more conservativeJacques Pienaar2016-04-052-8/+54
| | | | | | | | | | | | Summary: LanaiSetflagAluCombiner could previously combine instructions across basic building blocks even when not legal. Make the LanaiSetflagAluCombiner more conservative to avoid this. Reviewers: eliben Subscribers: joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D18746 llvm-svn: 265411
* [WWW] Update passesJohannes Doerfert2016-04-051-4/+1
| | | | llvm-svn: 265410
* [ARM] Cleanup of smul and smla instruction descriptionsSam Parker2016-04-051-12/+12
| | | | | | | | | Removed the SDNode argument passed to the AI_smul and AI_smla multiclass definitions as they are always mul. Differential Revision: http://reviews.llvm.org/D18791 llvm-svn: 265409
* [AMDGPU] Emit linkonce and linkonce_odr symbolsKonstantin Zhuravlyov2016-04-052-0/+58
| | | | | | Differential Revision: http://reviews.llvm.org/D18726 llvm-svn: 265408
* [BlockPlacement] Remove an unnecessary continueHaicheng Wu2016-04-051-1/+0
| | | | | | NFC. llvm-svn: 265407
* Reverting r265401 ("Enabling AddressSanitizer tests, they should work now.")Kuba Brecka2016-04-052-0/+2
| | | | llvm-svn: 265406
* [X86] Introduction of -march=lakemont.Andrey Turetskiy2016-04-053-3/+32
| | | | | | Differential Revision: http://reviews.llvm.org/D18651 llvm-svn: 265405
* Update for llvm change.Rafael Espindola2016-04-057-28/+19
| | | | llvm-svn: 265404
* Use ArrayRef for contiguous areas in ELF. NFC.Rafael Espindola2016-04-053-20/+20
| | | | | | This just simplifies the code a bit. More so in lld. llvm-svn: 265403
* Add missing test for the "Don't delete empty preheaders" added in r265397Chuang-Yu Cheng2016-04-051-0/+39
| | | | | Author: Tom Jablin (tjablin) llvm-svn: 265402
* Enabling AddressSanitizer tests, they should work now.Kuba Brecka2016-04-052-2/+0
| | | | llvm-svn: 265401
* Fixing AddressSanitizer tests (update expectations for current ASan, make it ↵Kuba Brecka2016-04-052-23/+13
| | | | | | work on OS X 10.10 and older). llvm-svn: 265400
* Centralize the definition of a few types. NFC.Rafael Espindola2016-04-052-8/+9
| | | | llvm-svn: 265399
* [NFC] Cleanup the code used to run shell commands from testsTamas Berghammer2016-04-056-71/+34
| | | | | | | | | | | | Previously we had 3 different method to run shell commands on the target and 4 copy of code waiting until a given file appears on the target device (used for syncronization). This CL merges these methods to 1 run_platform_command and 1 wait_for_file_on_target functions located in some utility classes. Differential revision: http://reviews.llvm.org/D18789 llvm-svn: 265398
* Don't delete empty preheaders in CodeGenPrepare if it would create a ↵Chuang-Yu Cheng2016-04-0516-35/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical edge Presently, CodeGenPrepare deletes all nearly empty (only phi and branch) basic blocks. This pass can delete loop preheaders which frequently creates critical edges. A preheader can be a convenient place to spill registers to the stack. If the entrance to a loop body is a critical edge, then spills may occur in the loop body rather than immediately before it. This patch protects loop preheaders from deletion in CodeGenPrepare even if they are nearly empty. Since the patch alters the CFG, it affects a large number of test cases. In most cases, the changes are merely cosmetic (basic blocks have different names or instruction orders change slightly). I am somewhat concerned about the test/CodeGen/Mips/brdelayslot.ll test case. If the loop preheader is not deleted, then the MIPS backend does not take advantage of a branch delay slot. Consequently, I would like some close review by a MIPS expert. The patch also partially subsumes D16893 from George Burgess IV. George correctly notes that CodeGenPrepare does not actually preserve the dominator tree. I think the dominator tree was usually not valid when CodeGenPrepare ran, but I am using LoopInfo to mark preheaders, so the dominator tree is now always valid before CodeGenPrepare. Author: Tom Jablin (tjablin) Reviewers: hfinkel george.burgess.iv vkalintiris dsanders kbarton cycheng http://reviews.llvm.org/D16984 llvm-svn: 265397
* Enabling TSan tests, they should work now.Kuba Brecka2016-04-052-2/+0
| | | | llvm-svn: 265396
* Fix ThreadSanitizer test cases to work on OS X 10.10 and older.Kuba Brecka2016-04-052-0/+10
| | | | llvm-svn: 265395
* [llvm-c] Expose LLVM{Get,Set}ModuleIdentifierPeter Zotov2016-04-053-2/+42
| | | | | | | | Patch by Nicole Mazzuca <npmazzuca@gmail.com>. Differential Revision: http://reviews.llvm.org/D18736 llvm-svn: 265394
OpenPOWER on IntegriCloud