summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix build break on Solaris introduced by r231940Jonathan Roelofs2015-03-131-0/+2
| | | | | | | | | Solaris apparently doesn't have iswblank_l. Thanks to C Bergstrom for the report! llvm-svn: 232172
* Make TestSBFrameFindValue compatible with remote targetsTamas Berghammer2015-03-131-1/+1
| | | | llvm-svn: 232171
* Forward adb port for reverse connect test casesTamas Berghammer2015-03-132-5/+12
| | | | | | | | | | | The test cases in TestStubReverseConnect are using a socket connection from python to lldb-server running on a remote target. To enable the socket connection an adb port forwarding have to be set up when the remote target is android. Differential revision: http://reviews.llvm.org/D8319 llvm-svn: 232170
* Skip VectorTypesFormatting test case when using gccTamas Berghammer2015-03-131-0/+1
| | | | | | Gcc don't support the ext_vector_type extension used by the test llvm-svn: 232169
* When building a module, all headers of submodules can be used.Daniel Jasper2015-03-132-1/+11
| | | | | | This extends r232159. llvm-svn: 232168
* [Tsan] Fix test.h to work on FreeBSDViktor Kutuzov2015-03-131-2/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D8303 llvm-svn: 232167
* clang-format: Don't corrupt macros with open braces.Daniel Jasper2015-03-132-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | Formatting: #define A { { #define B } } Before: #define A \ { \ { #define B } \ } After: #define A \ { \ { #define B \ } \ } This fixes llvm.org/PR22884. llvm-svn: 232166
* Recommit r232027 with PR22883 fixed: Add infrastructure for support of ↵Daniel Sanders2015-03-1322-47/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | multiple memory constraints. The operand flag word for ISD::INLINEASM nodes now contains a 15-bit memory constraint ID when the operand kind is Kind_Mem. This constraint ID is a numeric equivalent to the constraint code string and is converted with a target specific hook in TargetLowering. This patch maps all memory constraints to InlineAsm::Constraint_m so there is no functional change at this point. It just proves that using these previously unused bits in the encoding of the flag word doesn't break anything. The next patch will make each target preserve the current mapping of everything to Constraint_m for itself while changing the target independent implementation of the hook to return Constraint_Unknown appropriately. Each target will then be adapted in separate patches to use appropriate Constraint_* values. PR22883 was caused the matching operands copying the whole of the operand flags for the matched operand. This included the constraint id which needed to be replaced with the operand number. This has been fixed with a conversion function. Following on from this, matching operands also used the operand number as the constraint id. This has been fixed by looking up the matched operand and taking it from there. llvm-svn: 232165
* [OPENMP] Additional sema analysis for 'omp atomic[ update]'.Alexey Bataev2015-03-139-74/+616
| | | | | | Adds additional semantic analysis + generation of helper expressions for proper codegen. llvm-svn: 232164
* Fix expectation in TestDataFormatterSynthTamas Berghammer2015-03-131-1/+1
| | | | | | | | | The value of some_values (pointer) expeced to start by 0x0 but nothing requires that the first digit of the address be '0'. This CL change the expectation to check only for a value starting with 0x. llvm-svn: 232163
* [mips] [IAS] Refactor MipsTargetStreamer::emitMipsAbiFlags(). NFC.Toma Tabacu2015-03-132-7/+1
| | | | | | | | | | | | | | Summary: Make emitMipsAbiFlags a direct member of MipsTargetELFStreamer, as that's the only place where it's used, and remove the empty implementations from MipsTargetStreamer and MipsTargetAsmStreamer. Reviewers: dsanders, rafael Reviewed By: rafael Subscribers: rafael, llvm-commits Differential Revision: http://reviews.llvm.org/D8199 llvm-svn: 232161
* Create NativeRegisterContext for android-arm64Tamas Berghammer2015-03-1312-183/+888
| | | | | | Differential revision: http://reviews.llvm.org/D8058 llvm-svn: 232160
* Make a module "use" also count as use of all its submodulesDaniel Jasper2015-03-134-4/+18
| | | | llvm-svn: 232159
* Fix SO entry is main executable detection on androidTamas Berghammer2015-03-131-5/+8
| | | | | | | | | | | | | * On Android (at least on platfrom-21 x86) the dynamic linker reports the executable with its full path * Use the platform path of the executable when storing it into the cache (used to identify the SO entry for the executable) as this is the path what will be reported by the dynamic linker. If the platform path isn't set (local debugging) then it falls back to the normal file path. Differential revision: http://reviews.llvm.org/D8296 llvm-svn: 232158
* Fix missing data in GetProcessInfo on linuxTamas Berghammer2015-03-131-0/+2
| | | | | | | | | Fill in the missing part of the architecture in GetProcessInfo from the HostArchitecture (e.g. Environment). Differential revision: http://reviews.llvm.org/D8292 llvm-svn: 232157
* Add filepath to qModuleInfo packetTamas Berghammer2015-03-134-2/+79
| | | | | | | | | | | The file path is currently required on android because the executables only contain the name of the system libraries without their path. This CL add an extra field to the qModuleInfo packet to return the full path of a modul and add logic to locate a shared module on android. Differential revision: http://reviews.llvm.org/D8221 llvm-svn: 232156
* Add code to exit the NativeProcessLinux Monitor thread on androidTamas Berghammer2015-03-134-18/+55
| | | | | | | | | | This CL change the logic used to terminate the monitor thread of NativeProcessLinux to use a signal instead of pthread_cancel as pthread_cancel is not supported on android. Differential revision: http://reviews.llvm.org/D8205 llvm-svn: 232155
* [OPENMP] Re-factor __kmpc_for_static_init_* routine generation.Alexander Musman2015-03-132-93/+32
| | | | llvm-svn: 232154
* Fix fetching the architecture of the target on process launchTamas Berghammer2015-03-133-9/+37
| | | | | | | | | | Previously it was fetched only if the architecture isn't valid, but the architecture can be valid without containing all information about the current target (e.g. missing os). Differential revision: http://reviews.llvm.org/D8057 llvm-svn: 232153
* Remove non const version of GetArchitecture from Target.hTamas Berghammer2015-03-132-15/+12
| | | | | | | The architecture of a target should be updated only by the SetArchitecture method so the target can correctly manage its modules. llvm-svn: 232152
* Respect include_inlines when looking up functions in SymbolFileDWARFPavel Labath2015-03-132-33/+31
| | | | | | | | | | | | | | | | Summary: SymbolFileDWARF was not respecting the include_inlines argument in function lookup in all code paths. This resulted in an attempt to call an inlined function during expression evaluation, which is impossible, and usually resulted in a segfault in the inferior. This patch makes sure include_inlines is respected in all code paths. Reviewers: clayborg Subscribers: lldb-commits, sivachandra Differential Revision: http://reviews.llvm.org/D8286 llvm-svn: 232151
* Skip fdleak tests on androidTamas Berghammer2015-03-132-2/+20
| | | | | | | | | Android have more file descriptor opened by the shell what are inherited to the process (different ones on device and on emulator). Differential revision: http://reviews.llvm.org/D8299 llvm-svn: 232150
* [Modules] Teach Clang to survive ambiguous macros which come from systemChandler Carruth2015-03-1313-7/+247
| | | | | | | | | | | | | | | | | | | | | headers even if they arrived when merging non-system modules. The idea of this code is that we don't want to warn the user about macros defined multiple times by their system headers with slightly different definitions. We should have this behavior if either the macro comes from a system module, or the definition within the module comes from a system header. Previously, we would warn on ambiguous macros being merged when they came from a users modules even though they only showed up via system headers. By surviving this we can handle common system header macro differences like differing 'const' qualification of pointers due to some headers predating 'const' being valid in C code, even when those systems headers are pre-built into a system module. Differential Revision: http://reviews.llvm.org/D8310 llvm-svn: 232149
* [libclang] Fix crash when code-completing inside constructor initializer for ↵Argyrios Kyrtzidis2015-03-132-1/+21
| | | | | | | | a builtin type. rdar://20149746 llvm-svn: 232145
* Teach TBAA analysis to report errors on cyclic TBAA metadata rather than ↵Owen Anderson2015-03-132-4/+35
| | | | | | hanging. llvm-svn: 232144
* Fix an infinite recursion in the verifier caused by calling isSized on a ↵Owen Anderson2015-03-132-1/+17
| | | | | | recursive type. llvm-svn: 232143
* [MachineCopyPropagation] Fix a bug causing incorrect removal for the ↵Hao Liu2015-03-132-4/+104
| | | | | | | | | | | | | | instruction sequences as follows %Q5_Q6<def> = COPY %Q2_Q3 %D5<def> = %D3<def> = %D3<def> = COPY %D6 // Incorrectly removed in MachineCopyPropagation Using of %D3 results in incorrect result ... Reviewed in http://reviews.llvm.org/D8242 llvm-svn: 232142
* [libclang] During member ref expression visitation, ignore base anonymous ↵Argyrios Kyrtzidis2015-03-133-3/+44
| | | | | | | | | | struct/union fields. Otherwise they will shadow the real field that that we are interested in. rdar://19783938 llvm-svn: 232141
* Deduplicate #undef directives imported from multiple modules.Richard Smith2015-03-133-5/+20
| | | | | | | No functionality change, but deeply-importing module files are smaller and faster now. llvm-svn: 232140
* Fix build break in this code. Nothing uses this header, but the modulesRichard Smith2015-03-131-2/+2
| | | | | | buildbot builds it anyway and was angry because of this. llvm-svn: 232139
* Add clangBasic to libdeps according to r232051 since the interface of ↵NAKAMURA Takumi2015-03-132-0/+2
| | | | | | ASTMatchers was changed. llvm-svn: 232138
* Don't require AVX registers if the target CPU doesn't have themVince Harron2015-03-131-8/+24
| | | | | | | | TestLldbGdbServer was failing because it always assumed AVX is available on x86_64 Linux. This patch checks the target before asserting that AVX registers are available. llvm-svn: 232137
* Bulk of the infrastructure work to allow script commands to be backed by ↵Enrico Granata2015-03-137-13/+372
| | | | | | | | | | | | | | | | | | | | | | | | | | object instances in addition to free functions This works by creating a command backed by a class whose interface should - at least - include def __init__(self, debugger, session_dict) def __call__(self, args, return_obj, exe_ctx) What works: - adding a command via command script add --class - calling a thusly created command What is missing: - support for custom help - test cases The missing parts will follow over the next couple of days This is an improvement over the existing system as: a) it provides an obvious location for commands to provide help strings (i.e. methods) b) it allows commands to store state in an obvious fashion c) it allows us to easily add features to script commands over time (option parsing and subcommands registration, I am looking at you :-) llvm-svn: 232136
* Updating GettingStarted documentation to reference CMake as the preferred ↵Chris Bieneman2015-03-133-205/+455
| | | | | | | | | | | | | | way to build LLVM. Reviewers: chandlerc, samsonov, echristo Reviewed By: samsonov Subscribers: emaste, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D8046 llvm-svn: 232135
* When forming an addrec out of a phi don't just look at the last computation ↵Nick Lewycky2015-03-132-6/+70
| | | | | | | | and steal its flags for our own, there may be other computations in the middle. Check whether the LHS of the computation is the phi itself and then we know it's safe to steal the flags. Fixes PR22795. There's a missed optimization opportunity where we could look at the full chain of computation and take the intersection of the flags instead of only looking one instruction deep. llvm-svn: 232134
* [llgo] update year in LICENSE.txtAndrew Wilkins2015-03-131-1/+1
| | | | llvm-svn: 232133
* Use the variable names from the TargetInstrInfo source when weEric Christopher2015-03-131-5/+7
| | | | | | | reference them in the generated files. A few characters aren't huge here and CFSetupOpcode is much more readable than S0. llvm-svn: 232132
* Add a return after the llvm namespace code for a little extraEric Christopher2015-03-131-3/+3
| | | | | | readability in generated files. llvm-svn: 232131
* Simplify.Joerg Sonnenberger2015-03-131-9/+1
| | | | llvm-svn: 232130
* Use the cached subtarget off of the machine function.Eric Christopher2015-03-131-1/+1
| | | | llvm-svn: 232129
* Use the cached subtarget off of the machine function.Eric Christopher2015-03-131-6/+6
| | | | llvm-svn: 232128
* Silence warnings here by explicit cast.Enrico Granata2015-03-131-2/+2
| | | | llvm-svn: 232126
* We want single precision here.Joerg Sonnenberger2015-03-131-0/+3
| | | | llvm-svn: 232125
* [CMake] Add clangBasic in ASTMatchersTests, according to r232051.NAKAMURA Takumi2015-03-121-0/+1
| | | | | | Jan Vesely noticed it. See also r232055. llvm-svn: 232123
* Disambiguate call for GCC.Benjamin Kramer2015-03-122-2/+2
| | | | llvm-svn: 232122
* CodeGen: Base the conditional cleanup machinery on variadic templatesBenjamin Kramer2015-03-122-139/+34
| | | | | | | | | | | This is complicated by the fact that we can't simply use side-effecting calls in an argument list without losing all guarantees about the order they're emitted. To keep things deterministic we use tuples and brace initialization, which thankfully guarantees evaluation order. No functionality change intended. llvm-svn: 232121
* [X86, AVX2] Replace inserti128 and extracti128 intrinsics with generic shufflesSanjay Patel2015-03-126-52/+30
| | | | | | | | | | | | | | | | | This should complete the job started in r231794 and continued in r232045: We want to replace as much custom x86 shuffling via intrinsics as possible because pushing the code down the generic shuffle optimization path allows for better codegen and less complexity in LLVM. AVX2 introduced proper integer variants of the hacked integer insert/extract C intrinsics that were created for this same functionality with AVX1. This should complete the removal of insert/extract128 intrinsics. The Clang precursor patch for this change was checked in at r232109. llvm-svn: 232120
* Move a variable into the assert where it's used - fixes a -AssertsEric Christopher2015-03-121-2/+1
| | | | | | build warning/error. llvm-svn: 232119
* In preparation for moving ARM's TargetRegisterInfo to the TargetMachineEric Christopher2015-03-1212-146/+105
| | | | | | | merge Thumb1RegisterInfo and Thumb2RegisterInfo. This will enable us to match the TargetMachine for our TargetRegisterInfo classes. llvm-svn: 232117
* Add override markersEnrico Granata2015-03-121-6/+6
| | | | llvm-svn: 232116
OpenPOWER on IntegriCloud