summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* clang-format: Revamp builder-type call formatting.Daniel Jasper2013-08-274-65/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously builder-type calls were only correctly recognized in top-level calls. This fixes llvm.org/PR16981. Before: someobj->Add((new util::filetools::Handler(dir))->OnEvent1( NewPermanentCallback(this, &HandlerHolderClass::EventHandlerCBA)) ->OnEvent2(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBB)) ->OnEvent3(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBC)) ->OnEvent5(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBD)) ->OnEvent6(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBE))); After: someobj->Add((new util::filetools::Handler(dir)) ->OnEvent1(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBA)) ->OnEvent2(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBB)) ->OnEvent3(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBC)) ->OnEvent5(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBD)) ->OnEvent6(NewPermanentCallback( this, &HandlerHolderClass::EventHandlerCBE))); llvm-svn: 189337
* [-cxx-abi microsoft] Change the vdtor implicit should_call_delete argument ↵Timur Iskhodzhanov2013-08-272-21/+20
| | | | | | type to int llvm-svn: 189336
* ARM: add natural patterns for vaddhl and vsubhl.Tim Northover2013-08-273-0/+68
| | | | | | | | These instructions aren't particularly complicated and it's well worth having patterns for some reasonably useful LLVM IR that will match them. Soon we should be able to switch Clang over to producing this natural version. llvm-svn: 189335
* R600/SI: Enable local-memory-two-objects lit testMichel Danzer2013-08-271-12/+17
| | | | | Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 189334
* [mips][msa] Added tests for and.v, bmnz.v, bmz.v, bsel.v, nor.v, or.v, xor.v ↵Daniel Sanders2013-08-271-43/+523
| | | | | | | | | | | | when non-byte vectors are used. Note that all of these tests use ld.b and st.b for the loads and stores regardless of the data size. This is because the definition of bitcast is equivalent to a store/load sequence and DAG combiner accordingly folds bitcasts to/from v16i8 into the load/store nodes to product load/store nodes with type v16i8. llvm-svn: 189333
* [mips][msa] Added spill/reload supportDaniel Sanders2013-08-272-0/+613
| | | | llvm-svn: 189332
* [SystemZ] Extend memcpy and memset support to all constant lengthsRichard Sandiford2013-08-2713-110/+463
| | | | | | | | | | | | | | Lengths up to a certain threshold (currently 6 * 256) use a series of MVCs. Lengths above that threshold use a loop to handle X*256 bytes followed by a single MVC to handle the excess (if any). This loop will also be needed in future when support for variable lengths is added. Because the same tablegen classes are used to define MVC and CLC, the patch also has the side-effect of defining a pseudo loop instruction for CLC. That instruction isn't used yet (and wouldn't be handled correctly if it were). I'm planning to use it soon though. llvm-svn: 189331
* [mips][msa] Added bitconverts for vector types for big and little-endianDaniel Sanders2013-08-273-2/+1359
| | | | llvm-svn: 189330
* Add support for DebugFission to DWARF parserAlexey Samsonov2013-08-277-91/+250
| | | | | | | | | | | | | | | | | | | Summary: 1) Make llvm-symbolizer properly symbolize files with split debug info (by using stanalone .dwo files). 2) Make DWARFCompileUnit parse and store corresponding .dwo file, if necessary. 3) Make bits of DWARF parsing more CompileUnit-oriented. Reviewers: echristo Reviewed By: echristo CC: bkramer, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1164 llvm-svn: 189329
* clang-format: Fix bug in column layout.Daniel Jasper2013-08-272-2/+9
| | | | | | | | | | | | Before (with 60 character limit in Google style): return { {aaaaaaaaaaaaaaaaaaaaaaaaa}, {aaaaaaaaaaaaaaaaa}, {aaaaaaaaaaaaaaaaaaaaaaaaa}, {aaaaaaaaaaaaaaaaa}}; After: return {{aaaaaaaaaaaaaaaaaaaaaaaaa}, {aaaaaaaaaaaaaaaaa}, {aaaaaaaaaaaaaaaaaaaaaaaaa}, {aaaaaaaaaaaaaaaaa}}; llvm-svn: 189327
* AVX-512: Added FMA instructions.Elena Demikhovsky2013-08-273-1/+281
| | | | llvm-svn: 189326
* [-cxx-abi microsoft] Remove ArgIndex, we handle all template argument kinds!David Majnemer2013-08-271-20/+6
| | | | | | | TemplateExpansion cannot happen here because MSVC doesn't mangle anything but the fully substituted template arguments. llvm-svn: 189325
* Fix the build issue under ia64. Close bug #5715Sylvestre Ledru2013-08-272-2/+2
| | | | | | Thanks to Luca Falavigna for the help and most of the patch. llvm-svn: 189324
* Core: Fix non-Darwin build.Charles Davis2013-08-271-0/+2
| | | | | | More fallout from my mass-Mach-O-renaming. llvm-svn: 189323
* Revert "Fix the build broken by r189315." and "Move everything depending on ↵Charles Davis2013-08-2720-936/+1369
| | | | | | | | | Object/MachOFormat.h over to Support/MachO.h." This reverts commits r189319 and r189315. r189315 broke some tests on what I believe are big-endian platforms. llvm-svn: 189321
* PR14569: Omit debug info for thunksDavid Blaikie2013-08-272-1/+2
| | | | | | | | | | | | | | | | | | This was added in r166676 based on PR13942 on the basis that tools may need debug information for any executable code/function for some fairly broad/non-specific purposes. It seems to me (as noted in PR14569) that the major/only purpose is in backtraces, which should generally not apply to thunks as they won't appear in the stack themselves. By removing them we fix PR14569 and reduce the size of Clang's debug info. Strangely enough this doesn't seem to have a substantial impact on Clang's self-hosted debug info (at least looking at DWO file size) size at all. Not sure if I failed to test this correctly but I only observed a 0.004% change in DWO file size over Clang+LLVM. With thanks to Dinesh Dwivedi for work on this PR. llvm-svn: 189320
* Fix the build broken by r189315.David Blaikie2013-08-271-17/+8
| | | | | | | (this triggered Clang's -Wsometimes-uninitialized on the default path through the switch) llvm-svn: 189319
* [PECOFF] Add the entry symbol and /include symbols to dead strip root set.Rui Ueyama2013-08-275-15/+25
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1527 llvm-svn: 189318
* Fix some names in the wake of my Mach-O changes to LLVM.Charles Davis2013-08-2718-423/+417
| | | | llvm-svn: 189317
* Plugins/ObjectFile/PECOFF: Use enums from LLVM, and don't use Mach-O ↵Charles Davis2013-08-273-125/+44
| | | | | | | | | | definitions. Since I renamed most of the LLVM Mach-O enums in r189314, I had to go fix LLDB to use the new names. While I was here, I decided that a COFF plugin really shouldn't be using Mach-O enums. llvm-svn: 189316
* Move everything depending on Object/MachOFormat.h over to Support/MachO.h.Charles Davis2013-08-2720-1377/+953
| | | | llvm-svn: 189315
* Support/MachO: Add a bunch of defines.Charles Davis2013-08-273-283/+560
| | | | | | | | Right now we have two headers for the Mach-O format. I'd like to get rid of one. Since the other object formats are all in Support, I chose to keep the Mach-O header in Support, and discard the other one. llvm-svn: 189314
* OptionValueFileSpec::SetValueFromCString() is passed a complete file ↵Jason Molenda2013-08-271-11/+2
| | | | | | | | | | | | | | pathname -- it should not split up that pathname itself or require quoting to avoid the same. This fixing a bug where target create -c "core file" or target create -s "symbol file" will fail with an error message that the paths haven't been properly quoted. Working around it required target create -c "core\ file" to survive both attemps at tokenizing. <rdar://problem/14230629> llvm-svn: 189313
* Fixed typo.Michael Gottesman2013-08-271-1/+1
| | | | | | Noticed by Stephen Checkoway <s@pahtak.org>. llvm-svn: 189312
* Use set to create CLANG_ORDER_FILE instead of option which implies a bool value.Michael Gottesman2013-08-271-2/+2
| | | | | | Patch by Edoardo P. <ed0.88.prez@gmail.com>. llvm-svn: 189311
* Fix use of temporary strings.Rui Ueyama2013-08-271-4/+4
| | | | llvm-svn: 189310
* Fix wrong code offset for unwind code SET_FPREG.Kai Nacke2013-08-274-7/+6
| | | | | | | | | | | | The code offset for unwind code SET_FPREG is wrong because it is set to constant 0. The fix is to do the same as for the other unwind codes: emit a label and later the absolute difference between the label and the begin of the prologue. Also enables the failing test case MC/COFF/seh.s Reviewed by Jim Grosbach, Charles Davis and Nico Rieck. llvm-svn: 189309
* [PECOFF] Enable dead-stripping by default to match link.exe behavior.Rui Ueyama2013-08-2716-29/+53
| | | | llvm-svn: 189308
* Treat entry point symbol as an undefined atom.Rui Ueyama2013-08-2710-35/+47
| | | | | | | | | With this patch the entry symbol is treated as an undefined symbol, to force the resolver to resolve the entry symbol. Differential Revision: http://llvm-reviews.chandlerc.com/D1524 llvm-svn: 189307
* Show which decls are marked invalid in -ast-dump.Nick Lewycky2013-08-271-0/+3
| | | | llvm-svn: 189306
* When ObjectFileMachO::GetModuleSpecifications is getting the ArchSpecJason Molenda2013-08-271-0/+5
| | | | | | | | | out of a binary, if the Mach-O binary is MH_PRELOAD ("standalone"), don't let the OS be set to "ios" or "macosx" - there will be no dynamic loader used when debugging this process. <rdar://problem/9956443> llvm-svn: 189305
* cmake: fix the compiler-rt build with MSVCHans Wennborg2013-08-274-42/+91
| | | | | | | | | This sets flags and excludes things that aren't working with MSVC yet, allowing us to build the ASan runtime as part of the cmake build. Differential Revision: http://llvm-reviews.chandlerc.com/D1525 llvm-svn: 189304
* Itanium mangler: remove "proposal" comments for manglings that are in theRichard Smith2013-08-271-13/+8
| | | | | | latest draft of the ABI. llvm-svn: 189303
* R600: Add local address pointer size to DataLayoutTom Stellard2013-08-271-0/+1
| | | | llvm-svn: 189302
* Add derived from source.Eric Christopher2013-08-271-0/+5
| | | | llvm-svn: 189301
* Add a testcase to ensure that the pubnames section uses an offsetEric Christopher2013-08-271-0/+32
| | | | | | off of the debug_info section even when split dwarf is enabled. llvm-svn: 189300
* Remove an over-zealous assertion. A pointer type could be illegal if the ↵Owen Anderson2013-08-271-1/+0
| | | | | | target is prepared to custom-legalize pointer operands. This assertion was evaluated before the target would have a chance to do so, making it impossible. llvm-svn: 189299
* Rename ti -> ctx.Rui Ueyama2013-08-278-24/+25
| | | | | | | This should have been done in r187823 when I renamed LinkingContext from TargetInfo. I missed a few files. llvm-svn: 189298
* Add new API lto_codegen_compile_parallel().Shuxin Yang2013-08-275-2/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This API is proposed by Nick Kledzik. The semantic is: -------------------------------------------------------------------------- Generate code for merged module into an array of native object files. On success returns a pointer to an array of NativeObjectFile. The count parameter returns the number of elements in the array. Each element is a pointer/length for a generated mach-o/ELF buffer. The buffer is owned by the lto_code_gen_t and will be freed when lto_codegen_dispose() is called, or lto_codegen_compile() is called again. On failure, returns NULL (check lto_get_error_message() for details). extern const struct NativeObjectFile* lto_codegen_compile_parallel(lto_code_gen_t cg, size_t *count); --------------------------------------------------------------------------- This API is currently only called on OSX platform. Linux or other Unixes using GNU gold are not supposed to call this function, because on these systems, object files are fed back to linker via disk file instead of memory buffer. In this commit, lto_codegen_compile_parallel() simply calls lto_codegen_compile() to return a single object file. In the near future, this function is the entry point for compilation with partition. Linker can blindly call this function even if partition is turned off; in this case, compiler will return only one object file. llvm-svn: 189297
* Formatting.Eric Christopher2013-08-261-10/+10
| | | | llvm-svn: 189296
* merge lldb-platform-work branch (and assorted fixes) into trunkDaniel Malea2013-08-2685-330/+5862
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This merge brings in the improved 'platform' command that knows how to interface with remote machines; that is, query OS/kernel information, push and pull files, run shell commands, etc... and implementation for the new communication packets that back that interface, at least on Darwin based operating systems via the POSIXPlatform class. Linux support is coming soon. Verified the test suite runs cleanly on Linux (x86_64), build OK on Mac OS X Mountain Lion. Additional improvements (not in the source SVN branch 'lldb-platform-work'): - cmake build scripts for lldb-platform - cleanup test suite - documentation stub for qPlatform_RunCommand - use log class instead of printf() directly - reverted work-in-progress-looking changes from test/types/TestAbstract.py that work towards running the test suite remotely. - add new logging category 'platform' Reviewers: Matt Kopec, Greg Clayton Review: http://llvm-reviews.chandlerc.com/D1493 llvm-svn: 189295
* Make the lifetime of the DICompileUnit we're constructing from theEric Christopher2013-08-261-2/+1
| | | | | | MDNode more clear as just for a single argument. llvm-svn: 189294
* Have the skeleton compile unit construction method take the CU itEric Christopher2013-08-262-6/+6
| | | | | | | | | | is constructing from as an input and keep the same unique identifier. We can use this to connect items which must stay in the .o file (e.g. pubnames and pubtypes) to the skeleton cu rather than having duplicate unique numbers for the sections and needing to do lookups based on MDNode. llvm-svn: 189293
* Remove duplicate set of CompilationDir.Eric Christopher2013-08-261-1/+0
| | | | llvm-svn: 189292
* Remove the language parameter and variable from the compile unit. WeEric Christopher2013-08-263-16/+16
| | | | | | can get it via the MDNode that's passed in. Save that instead. llvm-svn: 189291
* Fix lint assert on integer vector divisionMatt Arsenault2013-08-263-6/+113
| | | | llvm-svn: 189290
* Treat the pubtypes section similarly to the pubnames section and emitEric Christopher2013-08-263-18/+21
| | | | | | | | | it by default under linux or when we're trying to keep compatibility with old gdb versions. Fix testcase for option name change. llvm-svn: 189289
* Only emit the section sym if we're emitting the section.Eric Christopher2013-08-261-1/+2
| | | | llvm-svn: 189288
* Simplify a bit.Rafael Espindola2013-08-261-13/+8
| | | | | | | | | | | | | This follows from computeKeyFunction having: // Template instantiations don't have key functions,see Itanium C++ ABI 5.2.6. // Same behavior as GCC. TemplateSpecializationKind TSK = RD->getTemplateSpecializationKind(); if (TSK == TSK_ImplicitInstantiation || TSK == TSK_ExplicitInstantiationDefinition) return 0; llvm-svn: 189287
* Debug Info: follow-up patch to r189283.Manman Ren2013-08-2610-13/+13
| | | | | | | Thanks David for his suggestion. This commit updates testing cases to have more specific CHECKs. llvm-svn: 189286
OpenPOWER on IntegriCloud