summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* don't repeat variable/function names in comments; NFCSanjay Patel2016-01-081-123/+97
| | | | llvm-svn: 257227
* rangify; NFCISanjay Patel2016-01-081-20/+12
| | | | llvm-svn: 257226
* [PGO] Introducing version mask macro/NFC (sync)Xinliang David Li2016-01-081-0/+8
| | | | llvm-svn: 257225
* [PGO] Introducing version mask macro/NFCXinliang David Li2016-01-081-0/+8
| | | | llvm-svn: 257224
* [tsan] don't crash on closedir(0)Kostya Serebryany2016-01-082-2/+9
| | | | llvm-svn: 257223
* [modules] Make sure we always include the contents of private headers whenRichard Smith2016-01-084-12/+16
| | | | | | | | | | building a module. Prior to this change, the private header's content would only be included if the header were included by another header in the same module. If not (if the private header is only used by the .cc files of the module, or is included from outside the module via -Wno-private-header), a #include of that file would be silently ignored. llvm-svn: 257222
* Teach the CMake build system to run lit's test suite. These can be runDan Liew2016-01-084-2/+51
| | | | | | | | | | | | | | | directy with ``make check-lit`` and are run as part of ``make check-all``. In principle we should run lit's testsuite before testing LLVM using lit so that any problems with lit get discovered before testing LLVM so we can bail out early. However this implementation (``check-all`` runs all tests together) seemed simpler and will still report failing lit tests. Note that the tests and the configured ``lit.site.cfg`` have to be copied into the build directory to avoid polluting the source tree. llvm-svn: 257221
* COFF: Rename RoundUpToAlignment -> align.Rui Ueyama2016-01-085-12/+14
| | | | llvm-svn: 257220
* Remove XFAIL from a few tests that have been fixed on Windows.Zachary Turner2016-01-083-3/+0
| | | | llvm-svn: 257219
* Group members to match a comment. NFC.Rui Ueyama2016-01-081-3/+2
| | | | llvm-svn: 257218
* Use shorter name. NFC.Rui Ueyama2016-01-082-2/+2
| | | | llvm-svn: 257217
* Update comments.Rui Ueyama2016-01-081-2/+6
| | | | llvm-svn: 257216
* [Hexagon] Replace a static member variable in HexagonCVIResource (NFC)Tobias Edler von Koch2016-01-082-20/+19
| | | | | | | This creates one instance of TUL per HexagonShuffler, which avoids thread-safety issues with future changes. llvm-svn: 257215
* Remove an empty constructor.Rui Ueyama2016-01-082-4/+0
| | | | | | | We used to have code in SymbolTable constructor to add entry symbols, etc. That code has been moved to Driver. We can remove the constructor. llvm-svn: 257214
* variable names start with an upper case letter; NFCSanjay Patel2016-01-081-7/+7
| | | | llvm-svn: 257213
* Add comments.Rui Ueyama2016-01-081-1/+3
| | | | llvm-svn: 257212
* ELF: Consistently return SymbolBody * from SymbolTable::add functions.Rui Ueyama2016-01-082-14/+17
| | | | | | | | For historical reasons, some add* functions for SymbolTable returns a pointer to a SymbolBody, while some are not. This patch is to make them consistently return a pointer to a newly added symbol. llvm-svn: 257211
* Re-apply r257117 (reverted in r257138 temporarily),Jason Molenda2016-01-088-11/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with the one change that ThreadPlanStepOut::ThreadPlanStepOut will now only advance the return address breakpoint to the end of a source line, if we have source line debug information. It will not advance to the end of a Symbol if we lack source line information. This, or the recognition of the LEAVE instruction in r257209, would have fixed the regression that Siva was seeing. Both were good changes, so I've made both. Original commit message: Performance improvement: Change lldb so that it puts a breakpoint on the first branch instruction after a function return (or the end of a source line), instead of a breakpoint on the return address, to skip an extra stop & start of the inferior process. I changed Process::AdvanceAddressToNextBranchInstruction to not take an optional InstructionList argument - no callers are providing a cached InstructionList today, and if this function was going to do that, the right thing to do would be to fill out / use a DisassemblerSP which is a disassembler with the InstructionList for this address range. http://reviews.llvm.org/D15708 <rdar://problem/23309838> llvm-svn: 257210
* Add support for the LEAVE x86 instruction to AssemblyParse_x86.Jason Molenda2016-01-081-7/+38
| | | | llvm-svn: 257209
* XFAIL 2 more tests based on SWIG version.Zachary Turner2016-01-082-0/+4
| | | | | | | There's a bug in versions of SWIG prior to 3.0.8 that prevent these tests from succeeding with Python 3.x llvm-svn: 257208
* Remove XFAIL from TestThreadStates on Windows.Zachary Turner2016-01-081-1/+0
| | | | llvm-svn: 257207
* [MS ABI] Complete and base constructor GlobalDecls must have the same nameDavid Majnemer2016-01-082-1/+39
| | | | | | | | | | | | | | | | | Clang got itself into the situation where we mangled the same constructor twice with two different constructor types. After one of the constructors were utilized, the tag used for one of the types changed from class to struct because a class template became complete. This resulted in one of the constructor types varying from the other constructor. Instead, force "base" constructor types to "complete" if the ABI doesn't have constructor variants. This will ensure that GlobalDecls for both variants will get the same mangled name. This fixes PR26029. llvm-svn: 257205
* Prevent infinite recursive loop in AppleObjCTrampolineHandler constructorStephane Sezer2016-01-082-2/+7
| | | | | | | | | | | | | | | | | | | | | | | Summary: When we construct AppleObjCTrampolineHandler, if m_impl_fn_addr is invalid, we call CanJIT(). If the gdb remote process does not support allocating and deallocating memory, this call stack will include a call to the AppleObjCRuntime constructor. The AppleObjCRuntime constructor will then call the AppleObjCTrampolineHandler constructor, creating a recursive call loop that eventually overflows the stack and segfaults. Avoid this call loop by not constructing the AppleObjCTrampolineHandler within AppleObjCRuntime until we actually need to use it. Reviewers: clayborg, jingham Subscribers: sas, lldb-commits Differential Revision: http://reviews.llvm.org/D15978 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 257204
* ELF: Remove dead code.Rui Ueyama2016-01-083-14/+0
| | | | | | | | | | R_X86_64_PLT32 is handled in the same way as R_X86_64_PC32 by relocateOne(), so this function does not seems to be needed. Without this code, all tests still pass. http://reviews.llvm.org/D15971 llvm-svn: 257203
* Fix CMake warning in CFI tests.Evgeniy Stepanov2016-01-081-1/+3
| | | | | | | CFI tests do not require the CFI runtime library on Windows. Do not add "cfi" as a dependency of "check-cfi" in that case. llvm-svn: 257202
* Revert "Fix CMake warning in CFI tests."Evgeniy Stepanov2016-01-081-1/+1
| | | | | | This is a bit more complex than that. llvm-svn: 257201
* [DAGCombiner] don't dereference an operand that doesn't exist (PR26070)Sanjay Patel2016-01-082-12/+29
| | | | | | | | | | | | | The bug was introduced with changes for x86-64 fp128: http://reviews.llvm.org/rL254653 I don't know why an x86 change is here, so I'll follow up in: http://reviews.llvm.org/D15134 Should fix: https://llvm.org/bugs/show_bug.cgi?id=26070 llvm-svn: 257200
* Fix CMake warning in CFI tests.Evgeniy Stepanov2016-01-081-1/+1
| | | | | | | | | Fix incorrect condition for enabling the CFI tests. This removes the following CMake warnings on Windows: The dependency target "cfi" of target "check-all" does not exist. The dependency target "cfi" of target "check-cfi-and-supported" does not exist. llvm-svn: 257199
* [JumpThreading] Split select that has constant conditions coming from the ↵Haicheng Wu2016-01-082-0/+100
| | | | | | | | | | | | | | | | | | | | PHI node Look for PHI/Select in the same BB of the form bb: %p = phi [false, %bb1], [true, %bb2], [false, %bb3], [true, %bb4], ... %s = select p, trueval, falseval And expand the select into a branch structure. This later enables jump-threading over bb in this pass. Using the similar approach of SimplifyCFG::FoldCondBranchOnPHI(), unfold select if the associated PHI has at least one constant. If the unfolded select is not jump-threaded, it will be folded again in the later optimizations. llvm-svn: 257198
* Fix incorrectly line-broken comment in Driver.h.Justin Lebar2016-01-081-3/+3
| | | | | | Also sort includes. llvm-svn: 257197
* LiveInterval: Adapt commen to the LI->LR change.Matthias Braun2016-01-081-1/+1
| | | | llvm-svn: 257196
* Sync up InstrProfData.incXinliang David Li2016-01-081-1/+1
| | | | llvm-svn: 257195
* Minor fix -- use the right version enum/NFCXinliang David Li2016-01-081-1/+1
| | | | llvm-svn: 257194
* Revert "Remove visibility attributes from out-of-class method definitions in ↵Evgeniy Stepanov2016-01-084-86/+86
| | | | | | iostreams." llvm-svn: 257193
* Test commit access - add a blank line in comment.Tim Shen2016-01-081-0/+1
| | | | llvm-svn: 257192
* LoopInfo: Simplify ownership of Loop objectsJustin Bogner2016-01-087-33/+36
| | | | | | | | | | | It's strange that LoopInfo mostly owns the Loop objects, but that it defers deleting them to the loop pass manager. Instead, change the oddly named "updateUnloop" to "markAsRemoved" and have it queue the Loop object for deletion. We can't delete the Loop immediately when we remove it, since we need its pointer identity still, so we'll mark the object as "invalid" so that clients can see what's going on. llvm-svn: 257191
* Update code in buildCudaActions and BuildActions to latest idiom.Justin Lebar2016-01-081-18/+14
| | | | | | | | | | | | | | | Summary: Use llvm::any_of, llvm::find, etc. No functional changes. Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15936 llvm-svn: 257190
* Add note about the "thread until" command to the llvm-gdb cheatsheet.Justin Lebar2016-01-081-0/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D15684 llvm-svn: 257189
* RBIT Instruction only available for ARMv6t2 and above.Weiming Zhao2016-01-082-1/+35
| | | | | | | | | | | | | | | | | Summary: r255334 matches bit-reverse pattern in InstCombine and generates calls to Instrinsic::bitreverse. RBIT instruction is only available for ARMv6t2 and above. This patch has the intrinsic expanded during legalization for ARMv4 and ARMv5. Patch by Z. Zheng <zhaoshiz@codeaurora.org> Reviewers: apazos, jmolloy, weimingz Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D15932 llvm-svn: 257188
* Disable shrink-wrap for Thumb1Weiming Zhao2016-01-081-0/+5
| | | | | | | | | | | | Summary: In ARMConstantIslandPass, which runs after Shrink Wrap pass, long jumps will be fixed up as BL (tBfar) which depends on spilling LR in epilogue. However, shrink-wrap may remove the LR, which causes issues when the function returns. Reviewers: qcolombet, rengolin Subscribers: aemerson, rengolin Differential Revision: http://reviews.llvm.org/D15984 llvm-svn: 257187
* Treat an embedded int3/__debugbreak() as a breakpoint on Windows, includes a ↵Adrian McCarthy2016-01-084-39/+142
| | | | | | cross-platform test. llvm-svn: 257186
* Remove CloningDirector and associated codeEaswaran Raman2016-01-082-98/+10
| | | | | | | With the removal of the old landing pad code in r249918, CloningDirector is not used anywhere else. NFCI. llvm-svn: 257185
* Do not ASSERTZEXT for i16 result of bitcast from f16 operandPirama Arumuga Nainar2016-01-083-9/+34
| | | | | | | | | | | | | | | | | | | | | | | Summary: During legalization if i16, do not ASSERTZEXT the result of FP_TO_FP16. Directly return an FP_TO_FP16 node with return type as the promote-to-type of i16. This patch also removes extraneous length check. This legalization should be valid even if integer and float types are of different lengths. This patch breaks a hard-float test for fp16 args. The test is changed to allow a vmov to zero-out the top bits, and also ensure that the return value is in an FP register. Reviewers: ab, jmolloy Subscribers: srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D15438 llvm-svn: 257184
* Make ubsan suppression test pass on Windows.Nico Weber2016-01-081-13/+5
| | | | llvm-svn: 257183
* [WinEH] CatchHandler which don't have catch objects in StackColoringDavid Majnemer2016-01-082-1/+41
| | | | | | | | | | | | | | | | | StackColoring rewrites the frame indicies of operations involving allocas if it can find that the life time of two objects do not overlap. MSVC EH needs to be kept aware of this if happens in the event that a catch object has moved around. However, we represent the non-existance of a catch object with a sentinel frame index (INT_MAX). This sentinel also happens to be the EmptyKey of the SlotRemap DenseMap. Testing for whether or not we need to translate the frame index fails in this case because we call the count method on the DenseMap with the EmptyKey, leading to assertions. Instead, check if it is our sentinel value before trying to look into the DenseMap. This fixes PR26073. llvm-svn: 257182
* [ThinLTO] Use new in-place symbol changes for exporting moduleTeresa Johnson2016-01-083-11/+11
| | | | | | | | | | | | | | Due to the new in-place ThinLTO symbol handling support added in r257174, we now invoke renameModuleForThinLTO on the current module from within the FunctionImport pass. Additionally, renameModuleForThinLTO no longer needs to return the Module as it is performing the renaming in place on the one provided. This commit will be immediately preceeded by a companion clang patch to remove its invocation of renameModuleForThinLTO. llvm-svn: 257181
* How to close a review manually.Paul Robinson2016-01-081-1/+7
| | | | llvm-svn: 257180
* [ThinLTO] Leverage new in-place renaming supportTeresa Johnson2016-01-083-57/+38
| | | | | | | | | | | | Due to the new in-place renaming support added in r257174, we no longer need to invoke ThinLTO global renaming from clang. It will be invoked on the module in the FunctionImport pass (by an immediately following llvm commit). As a result, we don't need to load the FunctionInfoIndex as early, so that is moved down into EmitAssemblyHelper::EmitAssembly. llvm-svn: 257179
* [clang-tidy] Add non-inline function definition and variable definition ↵Alexander Kornienko2016-01-089-1/+350
| | | | | | | | | | | | | | | | check in header files. Summary: The new check will find all functionand variable definitions which may violate cpp one definition rule in header file. Reviewers: aaron.ballman, alexfh Subscribers: aaron.ballman, cfe-commits Patch by Haojian Wu! Differential Revision: http://reviews.llvm.org/D15710 llvm-svn: 257178
* Disable part of the misc-move-constructor-init checker when the check is ↵Aaron Ballman2016-01-085-16/+51
| | | | | | enabled through cert-oop11-cpp. The CERT guideline does not cover moveable parameters as part of the OOP11-CPP recommendation, just copy construction from move constructors. llvm-svn: 257177
OpenPOWER on IntegriCloud