summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [VTableBuilder] Use range-based for loops. No functional change intendedBenjamin Kramer2015-07-251-146/+96
| | | | llvm-svn: 243222
* [VTableBuilder] Turn functors into lambdasBenjamin Kramer2015-07-251-34/+24
| | | | | | No functional change intended. llvm-svn: 243221
* Add missing namespace specifiers.Benjamin Kramer2015-07-251-1/+1
| | | | llvm-svn: 243220
* Upgrade for Clang API change.Benjamin Kramer2015-07-251-2/+3
| | | | llvm-svn: 243219
* Capture 'this' so GCC 4.7 can find a static members.Benjamin Kramer2015-07-251-4/+6
| | | | llvm-svn: 243218
* [AST] Turn the callbacks of lookupInBases and forallBases into a function_refBenjamin Kramer2015-07-2512-256/+211
| | | | | | | | | This lets us pass functors (and lambdas) without void * tricks. On the downside we can't pass CXXRecordDecl's Find* members (which are now type safe) to lookupInBases directly, but a lambda trampoline is a small price to pay. No functionality change intended. llvm-svn: 243217
* [X86][SSE] Added additional vector sign/zero load extension tests.Simon Pilgrim2015-07-252-308/+800
| | | | llvm-svn: 243216
* Fix formatting of recent alias-analysis commitTobias Grosser2015-07-253-49/+43
| | | | llvm-svn: 243215
* Prevectorize the schedule of the band (or the point loop in case of tiling)Tobias Grosser2015-07-252-10/+84
| | | | | Contributed-by: Roman Gareev <gareevroman@gmail.com> llvm-svn: 243214
* [Modules] Wrap the main ModuleManager visitor in a function_ref.Benjamin Kramer2015-07-255-126/+86
| | | | | | | Avoids the awkward passing of an opaque void *UserData argument. No functional change intended. llvm-svn: 243213
* [X86][SSE] Added additional vector sign/zero extension tests.Simon Pilgrim2015-07-252-90/+916
| | | | llvm-svn: 243212
* [Mips] Define _DYNAMIC_LINKING symbol if output is a is dynamically linked ↵Simon Atanasyan2015-07-252-1/+29
| | | | | | executable file llvm-svn: 243211
* [Mips] Remove redundant separate functions to calculate relocations. DoSimon Atanasyan2015-07-251-52/+23
| | | | | | | | that inline. No functional changes. llvm-svn: 243210
* [Mips] Remove duplicated code by joining the same functionsSimon Atanasyan2015-07-251-21/+4
| | | | llvm-svn: 243209
* [Mips] Do not sign-extend addends read from RELA relocation recordsSimon Atanasyan2015-07-252-18/+75
| | | | llvm-svn: 243208
* [clang-cl] Add fallback support for /ZlDavid Majnemer2015-07-252-1/+3
| | | | llvm-svn: 243207
* [CodeGen] Don't UBSan-ize the argument to __builtin_frame_addressDavid Majnemer2015-07-252-4/+11
| | | | | | | | | | | | | __builtin_frame_address requires its argument to be a constant expression which already implies that it cannot have undefined behavior. However, we used EmitScalarExpr to emit the argument causing UBSan to try to check for overflow. Instead, use the constant expression emission system. This fixes PR24256. llvm-svn: 243206
* COFF: ARM: Support import functions.Rui Ueyama2015-07-254-0/+78
| | | | llvm-svn: 243205
* COFF: ARM: Implement BLX23T relocation.Rui Ueyama2015-07-252-2/+68
| | | | llvm-svn: 243204
* [LoopUnswitch] Improve loop unswitch pass to find trivial unswitch ↵Chen Li2015-07-253-25/+112
| | | | | | | | | | | | | | | | | conditions more effectively Summary: This patch improves trivial loop unswitch. The current trivial loop unswitch only checks if loop header's terminator contains a trivial unswitch condition. But if the loop header only has one reachable successor (due to intentionally or unintentionally missed code simplification), we should consider the successor as part of the loop header. Therefore, instead of stopping at loop header's terminator, we should keep traversing its successors within loop until reach a *real* conditional branch or switch (whose condition can not be constant folded). This change will enable a single -loop-unswitch pass to unswitch multiple trivial conditions (unswitch one trivial condition could open opportunity to unswitch another one in the same loop), while the old implementation can unswitch only one per pass. Reviewers: reames, broune Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11481 llvm-svn: 243203
* COFF: ARM: Implement BRANCH24T relocation.Rui Ueyama2015-07-252-3/+70
| | | | llvm-svn: 243202
* COFF: ARM: Implement MOV32T relocation.Rui Ueyama2015-07-254-0/+159
| | | | llvm-svn: 243201
* Add some initial logging for when lldb is searching for binaries,Jason Molenda2015-07-255-0/+172
| | | | | | | | | dSYMs, or reading binaries out of memory to the 'Host' log channel. There's more to be done here, both for Mac and for other platforms, but the initial set of new loggings are useful enough to check in at this point. llvm-svn: 243200
* COFF: ARM: Set correct entry point address.Rui Ueyama2015-07-255-1/+51
| | | | llvm-svn: 243199
* [AArch64][FastISel] Always use an AND instruction when truncating to ↵Juergen Ributzka2015-07-253-33/+53
| | | | | | | | | | | | | | non-legal types. When truncating to non-legal types (such as i16, i8 and i1) always use an AND instruction to mask out the upper bits. This was only done when the source type was an i64, but not when the source type was an i32. This commit fixes this and adds the missing i32 truncate tests. This fixes rdar://problem/21990703. llvm-svn: 243198
* COFF: Handle base relocation as a tuple of relocation type and RVA. NFC.Rui Ueyama2015-07-255-38/+56
| | | | | | | | | | On x64 and x86, we use only one base relocation type, so we handled base relocations just as a list of RVAs. That doesn't work well for ARM becuase we have to handle two types of base relocations on ARM. This patch changes the type of base relocation from uint32_t to {reltype, uint32_t} to make it easy to port this code to ARM. llvm-svn: 243197
* [SemaTemplate] Detect instantiation of unparsed exceptions.Davide Italiano2015-07-252-1/+24
| | | | | | | | This fixes the clang crash reported in PR24000. Differential Revision: http://reviews.llvm.org/D11341 llvm-svn: 243196
* COFF: Split ImportThunkChunk into x86 and x64. NFC.Rui Ueyama2015-07-255-29/+51
| | | | | | This change should make it easy to port this code to ARM. llvm-svn: 243195
* COFF: Do not align import thunks on 16-byte boundaries on x86.Rui Ueyama2015-07-252-25/+23
| | | | | | Looks like MSVC linker aligns them only on x64. llvm-svn: 243194
* Shorten the lldb timeout, we were seeing occasional failure becauseJim Ingham2015-07-251-1/+1
| | | | | | | | lldb didn't wake up before the target function got a chance to complete. <rdar://problem/21990308> llvm-svn: 243193
* Fix PPCMaterializeInt to check the size of the integer based on theEric Christopher2015-07-252-9/+24
| | | | | | | | | | extension property we're requesting - zero or sign extended. This fixes cases where we want to return a zero extended 32-bit -1 and not be sign extended for the entire register. Also updated the already out of date comment with the current behavior. llvm-svn: 243192
* PPCMaterializeInt should only take a ConstantInt so represent this in the ↵Eric Christopher2015-07-251-12/+9
| | | | | | | | prototype and fix up all uses. llvm-svn: 243191
* Add initial CODE_OWNERS.TXT fileNick Kledzik2015-07-251-0/+19
| | | | llvm-svn: 243190
* Fix test case.Akira Hatanaka2015-07-251-1/+1
| | | | | | | This is a follow-up to r243185, which made changes to pass subtarget feature "+reserve-x18" instead of backend option "-aarch64-reserve-x18". llvm-svn: 243189
* COFF: Don't assume !is64() means i386.Rui Ueyama2015-07-258-24/+51
| | | | | | | | In many places we assumed that is64() means AMD64 and i386 otherwise. This assumption is not sound because Windows also supports ARM. The linker doesn't support ARM yet, but this is a first step. llvm-svn: 243188
* Specify a language to use when parsing expressions.Dawn Perchik2015-07-256-7/+146
| | | | | | | | | | | | This patch adds the option -l/--language to the expression command, for use when setting the language options or choosing an alternate FE. If not specified, the target.language setting is used. Reviewed by: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11447 llvm-svn: 243187
* [AArch64] Define subtarget feature "reserve-x18", which is used to decideAkira Hatanaka2015-07-255-11/+19
| | | | | | | | | | | | | | | | | whether register x18 should be reserved. This change is needed because we cannot use a backend option to set cl::opt "aarch64-reserve-x18" when doing LTO. Out-of-tree projects currently using cl::opt option "-aarch64-reserve-x18" to reserve x18 should make changes to add subtarget feature "reserve-x18" to the IR. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11463 llvm-svn: 243186
* [AArch64] Pass subtarget feature "+reserve-x18" instead of passing backendAkira Hatanaka2015-07-251-5/+3
| | | | | | | | | | | | | | option "-aarch64-reserve-x18". This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11462 llvm-svn: 243185
* [ELF2] Remove broken test.Michael J. Spencer2015-07-251-5/+0
| | | | | | The exact error the system returns for this case is varies between OS's and file systems. llvm-svn: 243184
* DI/Verifier: Fix argument bitrot in DILocalVariableDuncan P. N. Exon Smith2015-07-2445-95/+98
| | | | | | | | | | | | | | | | | | | | | | Add a verifier check that `DILocalVariable`s of tag `DW_TAG_arg_variable` always have a non-zero 'arg:' field, and those of tag `DW_TAG_auto_variable` always have a zero 'arg:' field. These are the only configurations that are properly understood by the backend. (Also, fix the bad examples in LangRef and test/Assembler, and fix the bug in Kaleidoscope Ch8.) A large number of testcases seem to have bitrotted their way forward from some ancient version of the debug info hierarchy that didn't have `arg:` parameters. If you have out-of-tree testcases that start failing in the verifier and you don't care enough to get the `arg:` right, you may have some luck just calling: sed -e 's/, arg: 0/, arg: 1/' or some such, but I hand-updated the ones in tree. llvm-svn: 243183
* COFF: Implement Safe SEH support for x86.Rui Ueyama2015-07-2414-9/+545
| | | | | | | | | | | | | An object file compatible with Safe SEH contains a .sxdata section. The section contains a list of symbol table indices, each of which is an exception handler function. A safe SEH-enabled executable contains a list of exception handler RVAs. So, what the linker has to do to support Safe SEH is basically to read the .sxdata section, interpret the contents as a list of symbol indices, unique-fy and sort their RVAs, and then emit that list to .rdata. This patch implements that feature. llvm-svn: 243182
* Make sure we resolve ~ in paths coming from the plist in a dSYM before ↵Jim Ingham2015-07-242-30/+12
| | | | | | | | | | | | adding them to the path remappings. Also don't add the paths to the path mapping when DebugSymbols tells up about files, since we'll just do that again when we read in the dSYM. <rdar://problem/21986208> llvm-svn: 243181
* Use double-checked locking to avoid locking the Module mutex if we don't ↵Greg Clayton2015-07-242-67/+80
| | | | | | | | need to. This avoid a deadlock we were seeing in Xcode. <rdar://problem/21512067> llvm-svn: 243180
* Normalize whitespace in makefilesMichael Kruse2015-07-242-37/+37
| | | | | | Tabs for rules and space for line continuations. llvm-svn: 243179
* COFF: Fix base relocation type for x86.Rui Ueyama2015-07-243-13/+15
| | | | llvm-svn: 243178
* COFF: Fix __ImageBase symbol relocation.Rui Ueyama2015-07-2410-28/+48
| | | | | | | | | | | | | | | | | | | | | | __ImageBase is a special symbol whose value is the image base address. Previously, we handled __ImageBase symbol as an absolute symbol. Absolute symbols point to specific locations in memory and the locations never change even if an image is base-relocated. That means that we don't have base relocation entries for absolute symbols. This is not a case for __ImageBase. If an image is base-relocated, its base address changes, and __ImageBase needs to be shifted as well. So we have to have base relocations for __ImageBase. That means that __ImageBase is not really an absolute symbol but a different kind of symbol. In this patch, I introduced a new type of symbol -- DefinedRelative. DefinedRelative is similar to DefinedAbsolute, but it has not a VA but RVA and is a subject of base relocation. Currently only __ImageBase is of the new symbol type. llvm-svn: 243176
* Log socket communications to LIBLLDB_LOG_COMMUNICATION instead ofJason Molenda2015-07-241-3/+3
| | | | | | | | the Host channel. http://reviews.llvm.org/D11497 llvm-svn: 243175
* Some fixes to get LLDB compiling with MSVC 2015.Zachary Turner2015-07-242-0/+10
| | | | llvm-svn: 243174
* MIR Serialization: Serialize MachineFrameInfo's callee saved information.Alex Lorenz2015-07-245-16/+255
| | | | | | | | | This commit serializes the callee saved information from the class 'MachineFrameInfo'. This commit extends the YAML mappings for the fixed and the ordinary stack objects and adds an optional 'callee-saved-register' attribute. This attribute is used to serialize the callee save information. llvm-svn: 243173
* Handle loop with negtive induction variable incrementLawrence Hu2015-07-242-37/+83
| | | | | | | | | | | | | This patch extend LoopReroll pass to hand the loops which is similar to the following: while (len > 1) { sum4 += buf[len]; sum4 += buf[len-1]; len -= 2; } llvm-svn: 243171
OpenPOWER on IntegriCloud