summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Fix inserting instructions before last in bundle.Matt Arsenault2013-08-262-17/+21
| | | | | | | | | | | The builder inserts from before the insert point, not after, so this would insert before the last instruction in the bundle instead of after it. I'm not sure if this can actually be a problem with any of the current insertions. llvm-svn: 189285
* Since r179585, __declspec(property) has gotten special treatment as an ↵Aaron Ballman2013-08-262-2/+1
| | | | | | attribute where it is not processed as part of the typical Sema attribute functionality. Specifying this attribute as being "ignored" because there is no sema handler for it as a Decl attribute, and no AST node generated for it. llvm-svn: 189284
* Debug Info: add an identifier field to DICompositeType.Manman Ren2013-08-2613-33/+33
| | | | | | | Paired with llvm r189282. Update testing cases to handle an extra field for DICompositeType. llvm-svn: 189283
* Debug Info: add an identifier field to DICompositeType.Manman Ren2013-08-26182-482/+511
| | | | | | | | | | | | | | | | | | DICompositeType will have an identifier field at position 14. For now, the field is set to null in DIBuilder. For DICompositeTypes where the template argument field (the 13th field) was optional, modify DIBuilder to make sure the template argument field is set. Now DICompositeType has 15 fields. Update DIBuilder to use NULL instead of "i32 0" for null value of a MDNode. Update verifier to check that DICompositeType has 15 fields and the last field is null or a MDString. Update testing cases to include an extra field for DICompositeType. The identifier field will be used by type uniquing so a front end can genearte a DICompositeType with a unique identifer. llvm-svn: 189282
* LoopVectorize: Implement partial loop unrolling when vectorization is not ↵Nadav Rotem2013-08-262-167/+534
| | | | | | | | | | | | | | | | profitable. This patch enables unrolling of loops when vectorization is legal but not profitable. We add a new class InnerLoopUnroller, that extends InnerLoopVectorizer and replaces some of the vector-specific logic with scalars. This patch does not introduce any runtime regressions and improves the following workloads: SingleSource/Benchmarks/Shootout/matrix -22.64% SingleSource/Benchmarks/Shootout-C++/matrix -13.06% External/SPEC/CINT2006/464_h264ref/464_h264ref -3.99% SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding -1.95% llvm-svn: 189281
* Use CHECK-DAG in this test.Rafael Espindola2013-08-261-79/+57
| | | | llvm-svn: 189280
* Fix thinko.Eric Christopher2013-08-261-1/+1
| | | | llvm-svn: 189279
* Consumed analyis: Renamed *PStatus to *PInfo.DeLesley Hutchins2013-08-261-48/+48
| | | | | | | | | The change was made for readability, as the PropagationInfo objects don't always contain a status. This is submitted as a separate patch because it touches a lot of lines and I don't want it cluttering up the next patch. Patch by chris.wailes@gmail.com. llvm-svn: 189278
* Simplify/clean up debug info suppression in CodeGenFunctionDavid Blaikie2013-08-268-70/+24
| | | | | | | | | | CodeGenFunction is run on only one function - a new object is made for each new function. I would add an assertion/flag to this effect, but there's an exception: ObjC properties involve emitting helper functions that are all emitted by the same CodeGenFunction object, so such a check is not possible/correct. llvm-svn: 189277
* TestDavid Blaikie2013-08-261-0/+8
| | | | llvm-svn: 189276
* ARM: Enable machine verifier for a few more tests.Jim Grosbach2013-08-262-3/+3
| | | | | | | | | Now that fast-isel is in better shape, we can enable the machine verifier for these tests, too. rdar://12594152 llvm-svn: 189275
* ARM: Constrain regclass for TSTri instruction.Jim Grosbach2013-08-262-1/+3
| | | | | | | | | Get the register class right for the TST instruction. This keeps the machine verifier happy, enabling us to turn it on for another test. rdar://12594152 llvm-svn: 189274
* G M: Improvements to Windows support.Howard Hinnant2013-08-262-49/+45
| | | | llvm-svn: 189273
* Dummy code to silence warning from 4189266Bill Schmidt2013-08-262-0/+11
| | | | llvm-svn: 189272
* Apply constexpr to initializer_list for c++1y.Howard Hinnant2013-08-264-10/+66
| | | | llvm-svn: 189271
* ARM: FastISel verifier error cleanup.Jim Grosbach2013-08-262-1/+8
| | | | | | | | | Constant pool and global value reference instructions need more restricted register classes than plain GPR. rdar://12594152 llvm-svn: 189270
* ARM: Fix ELF global base reg intialization.Jim Grosbach2013-08-261-3/+8
| | | | | | | | | | | | | | | | | | The create machine code wasn't properly in SSA, which the machine verifier properly complains about. Now that fast-isel is closer to verifier clean, errors like this show up more clearly. Additionally, the Thumb pseudo tPICADD was used for both ARM and Thumb mode functions, which is obviously wrong. Fix that along the way. Test case is part of the following commit which will finish making an additional fast-isel test verifier clean an enable it for the regression test suite. This commit is separate since its not just a verifier cleanup, but an actual correctness issue. rdar://12594152 (for the fast-isel verifier aspects) llvm-svn: 189269
* clang-replace: Delete change description filesTareq A. Siraj2013-08-265-1/+90
| | | | | | | | | | Added a command line option "-remove-change-desc-files" that triggers the deletion of the change description files after merging and applying regardless of success. Differential Revision: http://llvm-reviews.chandlerc.com/D1492 llvm-svn: 189268
* [PECOFF] Add Support for entry point symbol nameRui Ueyama2013-08-264-1/+68
| | | | | | Patch by Jesús Serrano García. llvm-svn: 189267
* [PowerPC] More fast-isel chunks (returns and integer extends)Bill Schmidt2013-08-265-3/+472
| | | | | | | | | | | | | | | | | Incremental improvement to fast-isel for PPC64. This allows us to select on ret, sext, and zext. Filling in sext/zext improves some of the existing logic in handling compare-immediates that needed extends. A simplified return convention for fast-isel is also added to the PPC64 calling conventions. All call/return processing for DAG selection is handled with custom code, so there isn't an existing CC to rely on here. The include of PPCGenCallingConv.inc causes compiler warnings due to the 32-bit calling conventions that are not used, so the dummy function "usePPC32CCs()" is added here to silence those. Test cases for the return and extend logic are added. llvm-svn: 189266
* test commit. Remove blank lineYi Jiang2013-08-261-1/+0
| | | | llvm-svn: 189265
* Fix unused variable in release buildMatt Arsenault2013-08-261-3/+2
| | | | llvm-svn: 189264
* llvm-symbolizer: use real path when looking for debug binary locationAlexey Samsonov2013-08-261-2/+11
| | | | llvm-svn: 189250
* [cmake] Check for realpath availability in CMakeAlexey Samsonov2013-08-262-1/+2
| | | | llvm-svn: 189249
* Forgot to add slp threshold to testMatt Arsenault2013-08-261-1/+2
| | | | llvm-svn: 189248
* Constify functionsMatt Arsenault2013-08-261-6/+8
| | | | llvm-svn: 189234
OpenPOWER on IntegriCloud