summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* clang/test/Driver/myriad-toolchain.c: Tweak for DOSish path.NAKAMURA Takumi2015-09-181-1/+1
| | | | llvm-svn: 247959
* [ShrinkWrap] Refactor the handling of infinite loop in the analysis.Quentin Colombet2015-09-175-9/+229
| | | | | | | | | - Strenghten the logic to be sure we hoist the restore point out of the current loop. (The fixes a bug with infinite loop, added as part of the patch.) - Walk over the exit blocks of the current loop to conver to the desired restore point in one iteration of the update loop. llvm-svn: 247958
* Make LanguageRuntime::GetDynamicTypeAndAddress return a ValueTypeEnrico Granata2015-09-1712-19/+32
| | | | | | | | | For C++ and ObjC, dynamic values are always (at least somewhat) pointer-like in nature, so a ValueType of scalar is actually good enough that it could originally be hardcoded as the right choice Other languages, might have broader notions of things that are dynamic (e.g. a language where a value type can be dynamic). In those cases, it might actually be the case that a dynamic value is a pointer-to the data, or even a host address if dynamic expression results entirely in host space are being talked about This patch enables the language runtime to make that decision, and makes ValueObjectDynamicValue comply with it llvm-svn: 247957
* Enable extra LTO verification only when build type is debug.Rui Ueyama2015-09-171-1/+5
| | | | llvm-svn: 247956
* [llvm-readobj] Fix another "time of check to time of use bug".Davide Italiano2015-09-172-5/+2
| | | | | | It seems there's more copy-paste between tools than needed. llvm-svn: 247954
* TypeSystem is now a plugin interface and removed any "ClangASTContext ↵Greg Clayton2015-09-1740-361/+844
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | &Class::GetClangASTContext()" functions. This cleans up type systems to be more pluggable. Prior to this we had issues: - Module, SymbolFile, and many others has "ClangASTContext &GetClangASTContext()" functions. All have been switched over to use "TypeSystem *GetTypeSystemForLanguage()" - Cleaned up any places that were using the GetClangASTContext() functions to use TypeSystem - Cleaned up Module so that it no longer has dedicated type system member variables: lldb::ClangASTContextUP m_ast; ///< The Clang AST context for this module. lldb::GoASTContextUP m_go_ast; ///< The Go AST context for this module. Now we have a type system map: typedef std::map<lldb::LanguageType, lldb::TypeSystemSP> TypeSystemMap; TypeSystemMap m_type_system_map; ///< A map of any type systems associated with this module - Many places in code were using ClangASTContext static functions to place with CompilerType objects and add modifiers (const, volatile, restrict) and to make typedefs, L and R value references and more. These have been made into CompilerType functions that are abstract: class CompilerType { ... //---------------------------------------------------------------------- // Return a new CompilerType that is a L value reference to this type if // this type is valid and the type system supports L value references, // else return an invalid type. //---------------------------------------------------------------------- CompilerType GetLValueReferenceType () const; //---------------------------------------------------------------------- // Return a new CompilerType that is a R value reference to this type if // this type is valid and the type system supports R value references, // else return an invalid type. //---------------------------------------------------------------------- CompilerType GetRValueReferenceType () const; //---------------------------------------------------------------------- // Return a new CompilerType adds a const modifier to this type if // this type is valid and the type system supports const modifiers, // else return an invalid type. //---------------------------------------------------------------------- CompilerType AddConstModifier () const; //---------------------------------------------------------------------- // Return a new CompilerType adds a volatile modifier to this type if // this type is valid and the type system supports volatile modifiers, // else return an invalid type. //---------------------------------------------------------------------- CompilerType AddVolatileModifier () const; //---------------------------------------------------------------------- // Return a new CompilerType adds a restrict modifier to this type if // this type is valid and the type system supports restrict modifiers, // else return an invalid type. //---------------------------------------------------------------------- CompilerType AddRestrictModifier () const; //---------------------------------------------------------------------- // Create a typedef to this type using "name" as the name of the typedef // this type is valid and the type system supports typedefs, else return // an invalid type. //---------------------------------------------------------------------- CompilerType CreateTypedef (const char *name, const CompilerDeclContext &decl_ctx) const; }; Other changes include: - Removed "CompilerType TypeSystem::GetIntTypeFromBitSize(...)" and CompilerType TypeSystem::GetFloatTypeFromBitSize(...) and replaced it with "CompilerType TypeSystem::GetBuiltinTypeForEncodingAndBitSize(lldb::Encoding encoding, size_t bit_size);" - Fixed code in Type.h to not request the full type for a type for no good reason, just request the forward type and let the type expand as needed llvm-svn: 247953
* [opaque pointer types] Add an explicit pointee type to alias records in the IRDavid Blaikie2015-09-173-25/+45
| | | | | | | | | | Since aliases actually use and verify their explicit type already, no further invalid testing is required here. The invalid.test:ALIAS-TYPE-MISMATCH case catches errors due to emitting a non-pointee type in the new format or a non-pointer type in the old format. llvm-svn: 247952
* [bpf] expand indirect branchesAlexei Starovoitov2015-09-171-0/+1
| | | | | | | | BPF instruction set doesn't have indirect branches. Expand them. Reported by John Fastabend. llvm-svn: 247951
* Remove dead member variable.Rafael Espindola2015-09-171-6/+3
| | | | llvm-svn: 247949
* [Myriad]: add "<sysroot>/include" to standard search pathDouglas Katzman2015-09-173-0/+18
| | | | llvm-svn: 247948
* [elf2] Extend program-header-layout.s to check that read only sections are ↵Michael J. Spencer2015-09-171-3/+17
| | | | | | correctly merged into the first PT_LOAD. llvm-svn: 247947
* [elf2] Fix dynamic-reloc.s test.Michael J. Spencer2015-09-171-1/+1
| | | | | | The offset of the .rela.dyn section isn't the same between hosts because a path comes before it. This test doesn't care what the offset is. llvm-svn: 247946
* Revert "(HEAD -> master, origin/master, origin/HEAD) RegisterPressure: Move ↵Matthias Braun2015-09-173-40/+40
| | | | | | | | | | LiveInRegs/LiveOutRegs from RegisterPressure to PressureTracker" This reverts commit r247943. Accidental commit, code review was not finished yet. llvm-svn: 247945
* [WinEH] Fix tests broken by funclet-layoutDavid Majnemer2015-09-172-14/+12
| | | | llvm-svn: 247944
* RegisterPressure: Move LiveInRegs/LiveOutRegs from RegisterPressure to ↵Matthias Braun2015-09-173-40/+40
| | | | | | | | PressureTracker Differential Revision: http://reviews.llvm.org/D12814 llvm-svn: 247943
* MachineScheduler: Provide an option for node hiding cutoff and disable it by ↵Matthias Braun2015-09-171-1/+9
| | | | | | default llvm-svn: 247942
* Support __builtin_ms_va_list.Charles Davis2015-09-1736-100/+565
| | | | | | | | | | | | | | | | | | Summary: This change adds support for `__builtin_ms_va_list`, a GCC extension for variadic `ms_abi` functions. The existing `__builtin_va_list` support is inadequate for this because `va_list` is defined differently in the Win64 ABI vs. the System V/AMD64 ABI. Depends on D1622. Reviewers: rsmith, rnk, rjmccall CC: cfe-commits Differential Revision: http://reviews.llvm.org/D1623 llvm-svn: 247941
* [SPARC] Add mulscc.Joerg Sonnenberger2015-09-172-0/+10
| | | | llvm-svn: 247940
* Get the process ID from a minidump.Adrian McCarthy2015-09-173-3/+24
| | | | llvm-svn: 247939
* fix typo; NFCSanjay Patel2015-09-171-1/+1
| | | | llvm-svn: 247938
* [WinEH] Add a funclet layout passDavid Majnemer2015-09-177-0/+150
| | | | | | | | | Windows EH funclets need to be contiguous. The FuncletLayout pass will ensure that the funclets are together and begin with a funclet entry MBB. Differential Revision: http://reviews.llvm.org/D12943 llvm-svn: 247937
* [WinEH] Make funclet return instrs pseudo instrsReid Kleckner2015-09-1713-122/+139
| | | | | | | | | This makes catchret look more like a branch, and less like a weird use of BlockAddress. It also lets us get away from llvm.x86.seh.restoreframe, which relies on the old parentfpoffset label arithmetic. llvm-svn: 247936
* gvn small fixPiotr Padlewski2015-09-171-3/+1
| | | | | | http://reviews.llvm.org/D12928 llvm-svn: 247935
* [InstCombine] Added vector demanded bits support for SSE4A EXTRQ/INSERTQ ↵Simon Pilgrim2015-09-173-126/+327
| | | | | | | | | | instructions The SSE4A instructions EXTRQ/INSERTQ only use the lower 64-bits (or less) for many of their input vector operands and all of them have undefined upper 64-bits results. Differential Revision: http://reviews.llvm.org/D12680 llvm-svn: 247934
* Using MD_invariant_groupPiotr Padlewski2015-09-171-1/+1
| | | | | | http://reviews.llvm.org/D12927 llvm-svn: 247933
* Try to unbreak windows compiler after r247926.Douglas Katzman2015-09-171-1/+2
| | | | | | | It might not like {} implicitly cast to an Arrayref. That's the theory, since I can't test it. llvm-svn: 247932
* Added MD_invariant_group to LLVMContextPiotr Padlewski2015-09-173-2/+10
| | | | | | http://reviews.llvm.org/D12926 llvm-svn: 247931
* Fixed the comment to match reality.Artem Belevich2015-09-171-1/+1
| | | | llvm-svn: 247930
* Fix a race condition when terminating inferiors on Windows.Zachary Turner2015-09-172-0/+16
| | | | | | | | | | | | | If a breakpoint was hit in the inferior after shutdown had started but before it was complete, it would cause an unclean terminate of the inferior, leading to various problems the most visible of which is that handles to the inferior executable would remain locked, and the test suite would fail to run subsequent tests because it could not recompile the inferior. This fixes a major source of flakiness in the test suite. llvm-svn: 247929
* Delinearize multi-dimensional arrays through bitcastsTobias Grosser2015-09-171-21/+32
| | | | | | | | In some cases instcombine introduces bitcasts that slightly obfuscate the multi-dimensionality of an array. This patch teaches our fixed-size delinearization how to look through bitcasts. llvm-svn: 247928
* Restore "Function bitcode index in Value Symbol Table and lazy reading support"Teresa Johnson2015-09-175-44/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit r247898 (which reverted r247894). Patch fixed to address two issues exposed by buildbots: - unused variable warning in NDEBUG mode - std::initializer_list lifetime issue causing test failures Original Summary: Support for including the function bitcode indices in the Value Symbol Table. This requires writing the VST after the function blocks, which in turn requires a new VST forward declaration record encoding the offset of the full VST (which is backpatched to contain the offset after the VST is written). This patch also enables the lazy function reader to use the new function indices out of the VST. This support will be used by ThinLTO as well, which will be in a follow on patch. Backwards compatibility with older bitcode files is maintained. A new test is also included. The bitcode format (used for the lazy reader as well as the upcoming ThinLTO patches) came out of discussions with Duncan and others and is described here: https://drive.google.com/file/d/0B036uwnWM6RWdnBLakxmeDdOeXc/view Reviewers: dexonsmith, davidxl, joker.eph Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12536 llvm-svn: 247927
* [Shave]: Rename test file from 'shave-' to 'myriad-'Douglas Katzman2015-09-171-0/+0
| | | | llvm-svn: 247926
* [elf2] Combine adjacent compatible OutputSections in PT_LOADs.Michael J. Spencer2015-09-175-78/+152
| | | | llvm-svn: 247925
* [Shave]: Drive sparc-myriad-elf-ld directly rather than via gcc.Douglas Katzman2015-09-177-44/+180
| | | | | | Differential Revision: http://reviews.llvm.org/D12541 llvm-svn: 247924
* Fix caching for clang::Decl in DWARFASTParserClangPaul Herman2015-09-171-4/+22
| | | | | | | | | | Reviewers: sivachandra, chaoren, clayborg, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12942 llvm-svn: 247923
* Adjustments to syncsource.py.Todd Fiala2015-09-173-13/+13
| | | | | | | | | | | - renamed sync-source.py to syncsource.py to appease pylint. - added missing lib/transfer/__init__.py file. Fumble from git to svn. - adjusted README to call sync-source.py syncsource.py, and call .sync-sourcerc .syncsourcerc. - marked syncsource.py as executable by all. llvm-svn: 247922
* Revert "ubsan: Implement memory permission validation for vtables."Evgeniy Stepanov2015-09-173-76/+0
| | | | | | | This reverts r247484 and two follow-up commits. Breaks ppc and x86_64 sanitizer bots. llvm-svn: 247921
* Temporarily fix gcov failures in big-endian hosts.Diego Novillo2015-09-171-1/+1
| | | | | | | | | | This test uses a gcov file generated in a little-endian host. The gcov reader does not allow different endianness, so the test fails on big endian hosts. XFAILing for now. llvm-svn: 247920
* [SCEV] Use auto instead of full iterator type; NFCI.Sanjoy Das2015-09-171-2/+1
| | | | llvm-svn: 247919
* [SCEV] Don't repeat method/field names in comment in header; NFC.Sanjoy Das2015-09-171-288/+249
| | | | llvm-svn: 247918
* Remove unused includes from clang in DataFormatters.Bruce Mitchener2015-09-171-3/+0
| | | | | | | | | | Reviewers: granata.enrico Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12929 llvm-svn: 247916
* DataFormatters: Rename clang_type to compiler_type.Bruce Mitchener2015-09-175-23/+23
| | | | | | | | | | Reviewers: granata.enrico Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12930 llvm-svn: 247915
* Fix TestMiSymbol for gcc-4.9 test.Chaoren Lin2015-09-171-1/+1
| | | | llvm-svn: 247914
* [cmake] Build lldb-server on Darwin, set dep on FreeBSD.Bruce Mitchener2015-09-172-3/+4
| | | | | | | | | | | | | | | | | | Summary: This switches the decision as to whether or not to lldb-server should be built to check the same flag that was added that controls whether or not it is added as a dependency to the 'lldb' target. It also sets that flag on FreeBSD to maintain parity with the existing build configuration / situation on FreeBSD. Reviewers: labath, emaste, tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12925 llvm-svn: 247913
* [CMake] Add install-clang target to install just the clang executableChris Bieneman2015-09-171-1/+7
| | | | | | For the llvm-tools we're generating install-${tool} targets which are very useful. We should have one for clang too. llvm-svn: 247912
* Use a MapVector to output symbols in a deterministic order.Rafael Espindola2015-09-176-152/+168
| | | | | | | | | We used to sort the symbols at the very end, but we need to know the order earlier so that we can create reference to them in the dynamic relocations. Thanks to Igor Kudrin for pointing out the problem. llvm-svn: 247911
* Removed a needless cast to ClangExpressionVariable.Sean Callanan2015-09-171-1/+1
| | | | llvm-svn: 247910
* Updated the Xcode build to reflect lldb-mi's dependency on LLVM.Sean Callanan2015-09-171-21/+38
| | | | llvm-svn: 247909
* Fix LLDB RSP client to decode '$O' packets incorrectlyDawn Perchik2015-09-173-5/+21
| | | | | | | | | | | | Character with ASCII code 0 is incorrectly treated by LLDB as the end of RSP packet. The left of the debugger server output is silently ignored. Patch from evgeny.leviant@gmail.com Reviewed by: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12523 llvm-svn: 247908
* Do not use the assumed context in the dependence analysis any moreTobias Grosser2015-09-171-2/+0
| | | | | | | | | This information is implicitly available through the multi-dimensionality of memory accesses. This reduces compile time for 3mm from 430ms to 400ms and should generally benefit compile time for cases where the assumed context is complex. llvm-svn: 247907
OpenPOWER on IntegriCloud