summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Vectorize starting from insertelements building a vectorMatt Arsenault2013-08-262-3/+253
| | | | llvm-svn: 189233
* Mark LWG issues 2011, 2015, 2033, 2065, 2071, 2102, 2235 as complete b/c ↵Marshall Clow2013-08-261-7/+7
| | | | | | libc++ already fixed them. llvm-svn: 189232
* unused variable, typedef requires name warning cleanupMichael Sartain2013-08-262-3/+2
| | | | llvm-svn: 189231
* CMake: move lto.h install to tools/lto/CMakeLists.txtHans Wennborg2013-08-262-5/+5
| | | | | | It looked misplaced in the main CMakeLists.txt file. llvm-svn: 189230
* Updated the main comment with respect to problems and future directions.John Thompson2013-08-261-32/+16
| | | | llvm-svn: 189229
* Fixed some issues that resulted in erroneous duplicate symbol error messages.John Thompson2013-08-268-23/+66
| | | | llvm-svn: 189228
* SelectionDAG: Remove unnecessary uses of TargetLowering::getPointerTy()Tom Stellard2013-08-268-43/+190
| | | | | | | | | | | | If we have a binary operation like ISD:ADD, we can set the result type equal to the result type of one of its operands rather than using TargetLowering::getPointerTy(). Also, any use of DAG.getIntPtrConstant(C) as an operand for a binary operation can be replaced with: DAG.getConstant(C, OtherOperand.getValueType()); llvm-svn: 189227
* R600: Add support for vector local memory loadsTom Stellard2013-08-265-0/+64
| | | | llvm-svn: 189226
* R600: Add support for i8 and i16 local memory loadsTom Stellard2013-08-265-16/+137
| | | | llvm-svn: 189225
* SelectionDAG: Use correct pointer size when splitting vector storesTom Stellard2013-08-262-1/+16
| | | | llvm-svn: 189224
* R600: Add support for i8 and i16 local memory storesTom Stellard2013-08-269-15/+78
| | | | llvm-svn: 189223
* R600: Add support for v4i32 and v2i32 local storesTom Stellard2013-08-264-59/+159
| | | | llvm-svn: 189222
* SelectionDAG: Use correct pointer size when lowering function arguments v2Tom Stellard2013-08-268-14/+79
| | | | | | | | | | | | | | | | This adds minimal support to the SelectionDAG for handling address spaces with different pointer sizes. The SelectionDAG should now correctly lower pointer function arguments to the correct size as well as generate the correct code when lowering getelementptr. This patch also updates the R600 DataLayout to use 32-bit pointers for the local address space. v2: - Add more helper functions to TargetLoweringBase - Use CHECK-LABEL for tests llvm-svn: 189221
* CMake Xcode builds: symlink tblgen targets out to bin/.Douglas Gregor2013-08-261-0/+10
| | | | | | | | | | | Xcode always puts executable targets in the directory bin/<Config>. When building separate LLVM and Clang projects for Xcode, this prevents the CMake-configured project for Clang from finding llvm-tblgen. Add a symlink so that tblgen executables are always available in bin/ (regardless of the configuration LLVM is built with). llvm-svn: 189220
* Handle predefined expression for a captured statementWei Pan2013-08-265-0/+53
| | | | | | | | | | | - __func__ or __FUNCTION__ returns captured statement's parent function name, not the one compiler generated. Differential Revision: http://llvm-reviews.chandlerc.com/D1491 Reviewed by bkramer llvm-svn: 189219
* Simplify now that -O4 just maps to -O3 and -O is an alias of -O2.Rafael Espindola2013-08-262-12/+6
| | | | llvm-svn: 189218
* [sanitizer] Add a fast version of StackDepotGet() for use in LSan.Sergey Matveev2013-08-266-5/+129
| | | | | | | Add a class that holds a snapshot of the StackDepot optimized for querying by ID. This allows us to speed up LSan dramatically. llvm-svn: 189217
* [sanitizer] Handle Die() in StopTheWorld.Sergey Matveev2013-08-263-42/+82
| | | | | | | | | Handle calls to Die() from the tracer thread. Fixes a bug where a CHECK could fail in the tracer thread, resulting in a call to AsanDie. The tracer thread then exited and the parent process continued execution despite its address space being in an unusable state. llvm-svn: 189216
* AVX-512: Added shuffle instructions - Elena Demikhovsky2013-08-264-34/+239
| | | | | | | VPSHUFD, VPERMILPS, VMOVDDUP, VMOVLHPS, VMOVHLPS, VSHUFPS, VALIGN single and double forms. llvm-svn: 189215
* Fix virtual destructor mangling when using "-cxx-abi microsoft" on x64Timur Iskhodzhanov2013-08-262-1/+6
| | | | llvm-svn: 189214
* This patch implements trap instructions for mips. The test cases are added.Vladimir Medic2013-08-263-2/+91
| | | | llvm-svn: 189213
* Teach the Linux toolchain about more modern Gentoo installations of GCCChandler Carruth2013-08-269-8/+44
| | | | | | | | which add another wrinkle to the installation of the libstdc++ headers. Add at least some basic testing of the weirdnesses of Gentoo's layout. llvm-svn: 189212
* clang-format: Fix bug in column-layout formatting.Daniel Jasper2013-08-262-9/+13
| | | | | | | | | | Specific arrangements of comments after trailing commas could confuse the column width calculation, e.g. in: vector<int> x = { a, b, /* some */ /* comment */ }; llvm-svn: 189211
* Include a clearer policy about what's ok/nok to speed up code reviews.Manuel Klimek2013-08-261-1/+18
| | | | llvm-svn: 189210
* [lld][ELF] Cleanup ELF writing, No change in functionalityShankar Easwaran2013-08-269-117/+85
| | | | | | | | | | The cleanup includes :- * Rename ambiguous Header class to ELFHeader * Convert Chunk contentype and kind to be a enumerated class * Remove functions that are not being used, avoids future confusion llvm-svn: 189209
* [-cxx-abi microsoft] Unnamed types are mangled less wrongDavid Majnemer2013-08-261-2/+2
| | | | llvm-svn: 189208
* [lld][ELF] Indent the td file to < 80 columnsShankar Easwaran2013-08-261-14/+30
| | | | llvm-svn: 189207
OpenPOWER on IntegriCloud