summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ELF] Use llvm::TwineShankar Easwaran2014-11-061-6/+2
| | | | llvm-svn: 221428
* [ELF] Implement isLittleEndian for all architecturesShankar Easwaran2014-11-066-6/+17
| | | | llvm-svn: 221427
* [ELF] Use std::find_if insteadShankar Easwaran2014-11-062-20/+15
| | | | llvm-svn: 221426
* [mach-o] remove extra leading underscore on __bss and __gotNick Kledzik2014-11-064-9/+9
| | | | llvm-svn: 221425
* [mach-o] Add support for interposing tuples sectionNick Kledzik2014-11-061-0/+79
| | | | | | | | | | Darwin uses two-level-namespace lookup for symbols which means the static linker records where each symbol must be found at runtime. Thus defining a symbol in a dylib loaded earlier will not effect where symbols needed by later dylibs will be found. Instead overriding is done through a section of type S_INTERPOSING which contains tuples of <interposer, interposee>. llvm-svn: 221424
* [PECOFF] Add a comment for SECREL relocation.Rui Ueyama2014-11-061-0/+2
| | | | llvm-svn: 221423
* Remove unnecessary .c_str() when implicitly converting to TwineMatt Arsenault2014-11-061-2/+2
| | | | llvm-svn: 221422
* [mach-o] Add support for interposing tuples sectionNick Kledzik2014-11-065-0/+7
| | | | | | | | | | Darwin uses two-level-namespace lookup for symbols which means the static linker records where each symbol must be found at runtime. Thus defining a symbol in a dylib loaded earlier will not effect where symbols needed by later dylibs will be found. Instead overriding is done through a section of type S_INTERPOSING which contains tuples of <interposer, interposee>. llvm-svn: 221421
* [PECOFF] Fix SECREL relocations.Rui Ueyama2014-11-064-1/+133
| | | | | | | | | | SECREL relocation's value is the offset to the beginning of the section. Because of the off-by-one error, if a SECREL relocation target is at the beginning of a section, it got wrong value. Added a test that would have caught this. llvm-svn: 221420
* [Docs][JIT] Update the clang++ invocation lines in the kaleidoscope docs.Lang Hames2014-11-065-5/+5
| | | | | | | The old examples had missing/incorrect flags that were causing failures on newer versions of clang and the tutorial code. llvm-svn: 221419
* Extract SCEV generation into subfunctionTobias Grosser2014-11-061-8/+16
| | | | | | | This makes the code more readable and will be reused in subsequent OpenMP patches. llvm-svn: 221418
* Patch for small addition to availability attribute.Fariborz Jahanian2014-11-052-0/+32
| | | | | | | | | This is to accept "NA" in place of vesion number for availability attribute. Used on introduced=NA to mean unavailable and deprecated=NA to mean nothing (not deprecated). rdar://18804883 llvm-svn: 221417
* Fixed the C++ method name class to be a bit more picky about what it ↵Greg Clayton2014-11-052-3/+50
| | | | | | | | | | | | identifies as a C++ method. This was done by using regular expressions on any basename we find to ensure it is valid. This fixed setting breakpoints by name with values like '[J]com.robovm.debug.server.apps.SleepLoop.startingUp()V'. This was previously triggering the C++ method name class to identify the string as C++ with a basename of '[J]com.robovm.debug.server.apps.SleepLoop.startingUp' which was obviously incorrect. The changes also fixed errors in templated function names like "void foo<int>(...)" where "void foo<int>" was being identified incorrectly as the basename. We also handle more C++ operators correctly now. llvm-svn: 221416
* cmake: Only export targets in the standalone buildReid Kleckner2014-11-051-21/+23
| | | | | | | Trying to fix bots that didn't like the fact that I exported targets that depended on LLVM without exporting targets from LLVM. llvm-svn: 221415
* Fix shadowed variable warningNick Kledzik2014-11-051-4/+4
| | | | llvm-svn: 221414
* cmake: Make the LLDB standalone build work for meReid Kleckner2014-11-051-1/+8
| | | | | | | | | | | | This allows me to generate a Visual Studio solution that builds LLDB if you have standalone builds of LLVM and Clang lying around. Unfortunately, you have to pass *four* CMake variables in, but it means you don't have to take the extra step of installing Clang and LLVM to some package prefix. Hopefully this will generate a more usable XCode project too. llvm-svn: 221413
* MachO: Remove an unused variable from processSectionDavid Majnemer2014-11-051-2/+0
| | | | | | | | | The local variable `cfi` became dead in r220730 when it's use was obviated; it was replaced with a call to read32. No functionality change intended. llvm-svn: 221412
* Make it easier to build against a pre-built Clang package with CMakeReid Kleckner2014-11-052-0/+31
| | | | | | | | | | | | | Installing <prefix>/share/clang/cmake/ClangConfig.cmake makes CMake's builtin find_package() utility work with Clang. This also allows downstream consumers of Clang to statically link against libraries like clangAST and have that pull in dependencies like clangBasic and LLVMSupport. See the CMake docs on packages: http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html llvm-svn: 221411
* Thread Safety Analysis: move warnings on range-based for loops out of betaDeLesley Hutchins2014-11-051-11/+9
| | | | | | and into -Wthread-safety. llvm-svn: 221410
* [Sanitizer] Introduce generic stack frame rendering machineryAlexey Samsonov2014-11-0511-112/+343
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This commit introduces function __sanitizer::RenderFrame() that allows to render the contents of AddressInfo (essentially, symbolized stack frame) using the custom format string. This function can be used to implement stack frame formatting for both ThreadSanitizer and generic StackTrace::Print(), used in another places. This paves the way towards allowing user to control the format of stack frames, obtaining them in any format he desires, and/or enforcing the consistent output from all sanitizers. Test Plan: compiler-rt test suite Reviewers: kcc Reviewed By: kcc Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D6140 llvm-svn: 221409
* [mips64] Fix MIPS64 exception personality encodingPetar Jovanovic2014-11-052-5/+12
| | | | | | | | | | | Remove dynamic relocations of __gxx_personality_v0 from the .eh_frame. The MIPS64 follow-up of the MIPS32 fix (rL209907). Patch by Vladimir Stefanovic. Differential Revision: http://reviews.llvm.org/D6141 llvm-svn: 221408
* [X86][SSE] Vector integer to float conversion memory foldingSimon Pilgrim2014-11-052-8/+29
| | | | | | | | Added missing memory folding for the (V)CVTDQ2PS instructions - we can safely fold these (but not the (V)CVTDQ2PD versions which have a register/memory size discrepancy in the source operand). I've added a test case demonstrating that stack folding now works. Differential Revision: http://reviews.llvm.org/D5981 llvm-svn: 221407
* [docs] Document usage of Inputs/ for extra test files.Sean Silva2014-11-051-0/+52
| | | | llvm-svn: 221406
* Decouple ProcessWindows from the Windows debug driver thread.Zachary Turner2014-11-0521-83/+413
| | | | | | | | | In the llgs world, ProcessWindows will eventually go away and we'll implement a different protocol. This patch decouples ProcessWindows from the core debug loop so that this transition will not be more difficult than it needs to be. llvm-svn: 221405
* This patch fixes a crash after rebuilding call AST ofFariborz Jahanian2014-11-052-0/+39
| | | | | | | | | | | | | an __unknown_anytype(...). In this case, we rebuild the vararg function type specially to convert the call expression to something that IRGen can handle. However, FunctionDecl as rebuilt in RebuildUnknownAnyExpr::resolveDecl is bogus and results in crash when accessing its params later on. This patch fixes the crash by rebuilding the FunctionDecl to match its new resolved type. rdar://15297105. John McCall, please review post-commit. llvm-svn: 221404
* [Linker] Add some test coverage for llvm.ident mergingSean Silva2014-11-053-0/+14
| | | | llvm-svn: 221403
* Allow inline test case to register actually useful teardown hooks by ↵Enrico Granata2014-11-053-5/+13
| | | | | | allowing a hook to be passed back the test instance, were it not to be already bound to self. Use this ability to make the reversal of escape-non-printables a teardown hook for added reliability of the testing logic llvm-svn: 221402
* Fix heap-use-after-free bug in expandSDiv when the operands areMichael Ilseman2014-11-051-6/+10
| | | | | | | | constants, as discovered by ASAN. Patch by Mehdi Amini! llvm-svn: 221401
* Fixed the Objective-C stripped ivar test to ensureSean Callanan2014-11-051-0/+2
| | | | | | | | | | | that we load debug information properly. If we don't explicitly add-dsym, sometimes Spotlight will help out and tell us about the dSYM but we shouldn't be relying on that. Thanks to Jim for catching this. <rdar://problem/16424661> llvm-svn: 221400
* Add a setting escape-non-printables that drives whether the StringPrinter ↵Enrico Granata2014-11-058-18/+77
| | | | | | | | | | | should or should not escape sequences such as \t, \n, .. and generally any non-printing character The recent StringPrinter changes made this behavior the default, and the setting defaults to yes If you want to change this behavior and see non-printables unescaped (e.g. "a\tb" as "a b"), set it to false Fixes rdar://12969594 llvm-svn: 221399
* Fix rvalue bug in __has_operator_addressofEric Fiselier2014-11-052-11/+24
| | | | llvm-svn: 221398
* [ELF] Use getVisibility() function to access st_other fieldSimon Atanasyan2014-11-051-4/+4
| | | | | | | The st_other field can contains not only visibility flag so we should retrieve a visibility flag using a bit-mask. llvm-svn: 221397
* Remove obsolete ARM intrinsics vclz and vcntSteven Wu2014-11-052-12/+0
| | | | | | | Both of the intrinsics get autoupgraded to target independent intrinsics. llvm-svn: 221396
* Fix operator & detection trait to check for free function overloads as wellEric Fiselier2014-11-052-2/+20
| | | | llvm-svn: 221395
* BlockGenerator: Recompute values from SCEV before handing back the original ↵Tobias Grosser2014-11-053-15/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | values This patch moves the SCEV based (re)generation of values before the checking for scop-constant terms. It enables us to provide SCEV based replacements, which are necessary to correctly generate OpenMP subfunctions when using the SCEV based code generation. When recomputing a new value for a value used in the code of the original scop, we previously directly returned the same original value for all scop-constant expressions without even trying to regenerate these values using our SCEV expression. This is correct when the newly generated code remains fully in the same function, however in case we want to outline parts of the newly generated scop into subfunctions, this approach means we do not have any opportunity to update these values in the SCEV based code generation. (In the non-SCEV based code generation, we can provide such updates through the GlobalMap). To ensure we have this opportunity, we first try to regenerate scalar terms with our SCEV builder and will only return scop-constant expressions if SCEV based code generation was not possible. This change should not affect the results of the existing code generation passes. It only impacts the upcoming OpenMP based code generation. This commit also adds a test case. This test case passes before and after this commit. It was added to ensure test coverage for the changed code. llvm-svn: 221393
* Add accessor to get 'visibility' part of st_other fieldSimon Atanasyan2014-11-052-1/+5
| | | | | | This new `getVisibility()` function will also be used in the LLD code. llvm-svn: 221392
* cmake: Conditionalize CodeGen's dependency on intrinsics_genReid Kleckner2014-11-051-1/+10
| | | | | | | | Custom targets in cmake cannot be exported, and this dependency is only needed in the combined build to ensure that Intrinsics.gen is created before compiling CodeGen. In the standalone, all of LLVM is build first. llvm-svn: 221391
* Fix test breakage from r221386Derek Schuff2014-11-051-2/+2
| | | | llvm-svn: 221389
* BlockGenerator: inline lookupAvailableValue into getValue [NFC]Tobias Grosser2014-11-052-26/+11
| | | | | | | | | | | There was no good reason why this code was split accross two functions. In subsequent changes we will change the order in which values are looked up. Doing so would make the split into two functions even more arbitrary. We also slightly improve the documentation. llvm-svn: 221388
* R600/SI: Fix omod display for VOP3bMatt Arsenault2014-11-051-1/+1
| | | | llvm-svn: 221387
* [x86 fast-isel] Materialize allocas with the correct-sized lea for ILP32Derek Schuff2014-11-053-1/+25
| | | | | | | | | | Summary: X86FastISel::fastMaterializeAlloca was incorrectly conditioning its opcode selection on subtarget bitness rather than pointer size. Differential Revision: http://reviews.llvm.org/D6136 llvm-svn: 221386
* [DebugInfo] Do not record artificial global initializer functions in the ↵Frederic Riss2014-11-052-5/+8
| | | | | | | | | | | | | | | DeclCache. When we are generating the global initializer functions, we call CGDebugInfo::EmitFunctionStart() with a valid decl which is describing the initialized global variable. Do not update the DeclCache with this key as it will overwrite the the cached variable DIGlobalVariable with the newly created artificial DISubprogram. One could wonder if we should put artificial subprograms in the DIE tree at all (there are vaild uses for them carrying line information though). llvm-svn: 221385
* R600/SI: Add testcase I forgot to commit from months agoMatt Arsenault2014-11-051-0/+11
| | | | llvm-svn: 221384
* R600/SI: Move all rsrc building functions to SIISelLoweringMatt Arsenault2014-11-053-50/+61
| | | | llvm-svn: 221383
* R600/SI: Remove SI_ADDR64_RSRCMatt Arsenault2014-11-054-44/+62
| | | | llvm-svn: 221382
* Fix failing allow_user_segv.cc test on OS X 10.10Kuba Brecka2014-11-051-12/+23
| | | | | | | | The current ASan testcase Posix/allow_user_segv.cc expects SIGBUS to be triggered on 32-bit Darwin. This has apparently changed on 10.10 to trigger SIGSEGV instead, just as on 64-bit. Let's just install handlers for both SIGSEGV and SIGBUS instead of #ifdef'ing. Reviewed at http://reviews.llvm.org/D6121 llvm-svn: 221381
* Extend the OS X pthread_get_stacksize_np workaround to 10.10Kuba Brecka2014-11-051-1/+1
| | | | | | | | Fixes a failing ASan testcase (TestCases/stack-use-after-return.cc) on OS X 10.10. Reviewed at http://reviews.llvm.org/D6120 llvm-svn: 221380
* Extend Mac OS versions to YosemiteKuba Brecka2014-11-052-1/+3
| | | | | | | | This also fixes the test/asan/TestCases/Darwin/malloc_zone-protected.cc test failure on OS X 10.10. Reviewed at http://reviews.llvm.org/D6119 llvm-svn: 221379
* Fix LLDB build as a result of upstream LLVM changes.Zachary Turner2014-11-051-2/+1
| | | | llvm-svn: 221378
* [NVPTX] Add NVPTXLowerStructArgs passJustin Holewinski2014-11-055-0/+178
| | | | | | | | | | | | | | | | | | | | | | | This works around the limitation that PTX does not allow .param space loads/stores with arbitrary pointers. If a function has a by-val struct ptr arg, say foo(%struct.x *byval %d), then add the following instructions to the first basic block : %temp = alloca %struct.x, align 8 %tt1 = bitcast %struct.x * %d to i8 * %tt2 = llvm.nvvm.cvt.gen.to.param %tt2 %tempd = bitcast i8 addrspace(101) * to %struct.x addrspace(101) * %tv = load %struct.x addrspace(101) * %tempd store %struct.x %tv, %struct.x * %temp, align 8 The above code allocates some space in the stack and copies the incoming struct from param space to local space. Then replace all occurences of %d by %temp. Fixes PR21465. llvm-svn: 221377
OpenPOWER on IntegriCloud