summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Ensure that debugger calls to signature-less functions default toJohn McCall2013-06-273-25/+89
| | | | | | | | | | | | | | | | | | | | | passing arguments in the fixed style. We have an abstraction for deciding this, but it's (1) deep in IR-generation, (2) necessarily tied to exact argument lists, and (3) triggered by unprototyped function types, which we can't legitimately make in C++ mode. So this solution, wherein Sema rewrites the function type to an exact prototype but leaves the variadic bit enabled so as to request x86-64-like platforms to pass the extra variadic info, is very much a hack, but it's one that works in practice on the platforms that LLDB will support in the medium term --- the only place we know of where it's a problem is instance methods in Windows, where variadic functions are implicitly cdecl. We may have a more abstracted base on which to build a solution by then. rdar://13731520 llvm-svn: 185112
* Revert "Revert "[APFloat] Removed APFloat constructor which initialized to ↵Michael Gottesman2013-06-273-20/+9
| | | | | | | | | | | | | | | | | | | | either zero/NaN but allowed you to arbitrarily set the category of the float."" This reverts commit r185099. Looks like both the ppc-64 and mips bots are still failing after I reverted this change. Since: 1. The mips bot always performs a clean build, 2. The ppc64-bot failed again after a clean build (I asked the ppc-64 maintainers to clean the bot which they did... Thanks Will!), I think it is safe to assume that this change was not the cause of the failures that said builders were seeing. Thus I am recomitting. llvm-svn: 185111
* Revert "Revert r184787: "Added arm_neon intrinsic tests.""Michael Gottesman2013-06-271-0/+11624
| | | | | | | | | | This reverts commit r184817. The failure Chandler was seeing was most likely the bug that Bob Wilson fixed in r184870 (which was a bug caught by these tests). To be safe, I just checked again on x86-64 mac os x/linux that this test passed (which it did). llvm-svn: 185110
* Remove bogus VarDecl::extendsLifetimeOfTemporary function and inline it intoRichard Smith2013-06-273-29/+15
| | | | | | its only caller with a FIXME explaining why it's bogus. llvm-svn: 185109
* Remove unnecessary check.Eli Friedman2013-06-271-1/+1
| | | | llvm-svn: 185108
* Prevent race in when stopping a "read thread"Tim Northover2013-06-271-2/+0
| | | | | | | | | | | Both StopReadThread and the thread being stopped set the thread id to 0 after m_read_thread_enabled was set to false. If the thread being stopped got there first then StopReadThread called pthread_join on an invalid thread number. This is not a Good Thing, Should fix a fairly regular segfault when quitting on Linux. llvm-svn: 185107
* Revert hack that omits errno on Darwin platforms. We now have an acceptable ↵Bill Wendling2013-06-271-9/+0
| | | | | | 'errno' header. llvm-svn: 185106
* Declare 'strerror' so that we can use it with errno.Bill Wendling2013-06-271-0/+21
| | | | llvm-svn: 185105
* Add 'errno.h' to the Darwin SDK.Bill Wendling2013-06-272-0/+48
| | | | llvm-svn: 185104
* Delete dead code.Eli Friedman2013-06-274-43/+0
| | | | llvm-svn: 185103
* [PECOFF][Writer] Fix DLLCharacteristic flag in image header.Rui Ueyama2013-06-272-1/+8
| | | | llvm-svn: 185102
* Delete dead code.Eli Friedman2013-06-278-80/+6
| | | | llvm-svn: 185101
* Under -fms-extensions, only inject a friend tag name when we didn't see a ↵Douglas Gregor2013-06-272-3/+27
| | | | | | | | | | | | | | tag with that name in an enclosing scope. r177473 made us correctly consider only those declarations in the enclosing namespace scope when looking for a friend declaration. Under ms-extensions mode, where we do some level of friend injection, this meant that we were introducing a new tag type into a different scope than what Microsoft actually does. Address this by only doing the friend injection when we didn't see any tag with that name in any outer scope. Fixes <rdar://problem/14250378>. llvm-svn: 185100
* Revert "[APFloat] Removed APFloat constructor which initialized to either ↵Michael Gottesman2013-06-273-9/+20
| | | | | | | | | | | | zero/NaN but allowed you to arbitrarily set the category of the float." This reverts commit r185095. This is causing a FileCheck failure on the 3dnow intrinsics on at least the mips/ppc bots but not on the x86 bots. Reverting while I figure out what is going on. llvm-svn: 185099
* Simplify StmtIterator.Eli Friedman2013-06-272-70/+20
| | | | llvm-svn: 185098
* LoopVectorize: Cache edge masks created during if-conversionArnold Schwaighofer2013-06-272-0/+258
| | | | | | | Otherwise, we end up with an exponential IR blowup. Fixes PR16472. llvm-svn: 185097
* Remove unnecessary conditional checks.Chad Rosier2013-06-271-20/+18
| | | | llvm-svn: 185096
* [APFloat] Removed APFloat constructor which initialized to either zero/NaN ↵Michael Gottesman2013-06-273-20/+9
| | | | | | | | | | | | | | but allowed you to arbitrarily set the category of the float. The category which an APFloat belongs to should be dependent on the actual value that the APFloat has, not be arbitrarily passed in by the user. This will prevent inconsistency bugs where the category and the actual value in APFloat differ. I also fixed up all of the references to this constructor (which were only in LLVM). llvm-svn: 185095
* Improve the compression of the tablegen DiffLists by introducing a new sortChad Rosier2013-06-274-22/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | algorithm when assigning EnumValues to the synthesized registers. The current algorithm, LessRecord, uses the StringRef compare_numeric function. This function compares strings, while handling embedded numbers. For example, the R600 backend registers are sorted as follows: T1 T1_W T1_X T1_XYZW T1_Y T1_Z T2 T2_W T2_X T2_XYZW T2_Y T2_Z In this example, the 'scaling factor' is dEnum/dN = 6 because T0, T1, T2 have an EnumValue offset of 6 from one another. However, in other parts of the register bank, the scaling factors are different: dEnum/dN = 5: KC0_128_W KC0_128_X KC0_128_XYZW KC0_128_Y KC0_128_Z KC0_129_W KC0_129_X KC0_129_XYZW KC0_129_Y KC0_129_Z The diff lists do not work correctly because different kinds of registers have different 'scaling factors'. This new algorithm, LessRecordRegister, tries to enforce a scaling factor of 1. For example, the registers are now sorted as follows: T1 T2 T3 ... T0_W T1_W T2_W ... T0_X T1_X T2_X ... KC0_128_W KC0_129_W KC0_130_W ... For the Mips and R600 I see a 19% and 6% reduction in size, respectively. I did see a few small regressions, but the differences were on the order of a few bytes (e.g., AArch64 was 16 bytes). I suspect there will be even greater wins for targets with larger register files. Patch reviewed by Jakob. rdar://14006013 llvm-svn: 185094
* Implement full support for non-pointer pointers in custom allocators for vector.Howard Hinnant2013-06-2798-91/+1721
| | | | llvm-svn: 185093
* Ran clang-format on Modularize.cpp to get a baseline for future changes.John Thompson2013-06-271-12/+20
| | | | llvm-svn: 185092
* Small improvements to createOutputFile.Rafael Espindola2013-06-273-37/+53
| | | | | | | | * Use a single stat to find out if the file exists and if it is a regular file. * Use early returns when possible. * Add comments explaining why we have each check. llvm-svn: 185091
* A bit more cleanup on the process_events.py to use best practices for event ↵Greg Clayton2013-06-271-54/+72
| | | | | | handling. llvm-svn: 185089
* Cleanup of IRForTarget. Removed some relics ofSean Callanan2013-06-272-83/+1
| | | | | | | the time when the IRInterpreter ran inside IRForTarget. llvm-svn: 185088
* [Support/Registry.h] Include llvm/Support/Compiler.h.Argyrios Kyrtzidis2013-06-271-0/+2
| | | | | | Because Registry.h is using the LLVM_DELETED_FUNCTION macro. llvm-svn: 185087
* Get rid of the unused class member.Nadav Rotem2013-06-271-3/+2
| | | | llvm-svn: 185086
* CostModel: improve the cost model for load/store of non power-of-two types ↵Nadav Rotem2013-06-272-0/+62
| | | | | | such as <3 x float>, which are popular in graphics. llvm-svn: 185085
* R600: Remove alu-split.ll testTom Stellard2013-06-271-851/+0
| | | | | | | | | | | | | | | The purpose of this test was to check boundary conditions for the size of an ALU clause. This test is very sensitive to changes to the optimizer or scheduler, because it requires an exact number of ALU instructions in order to remain valid. It's not good to have a test this sensitive, because it is confusing to developers who implement optimizations and then 'break' the test. I'm not sure if there is a good way to test these limits using lit, but if I can come up with replacement test that isn't as sensitive I'll add it back to the tree. llvm-svn: 185084
* [sanitizer] Support padding with spaces in Printf.Sergey Matveev2013-06-272-35/+65
| | | | llvm-svn: 185082
* LoopVectorize: Use vectorized loop invariant gep index anchored in loopArnold Schwaighofer2013-06-272-8/+56
| | | | | | | | | Use vectorized instruction instead of original instruction anchored in the original loop. Fixes PR16452 and t2075.c of PR16455. llvm-svn: 185081
* Use MCFillFragment for zero-initialized data.Serge Pavlov2013-06-275-8/+21
| | | | | | | | It fixes PR16338 (ICE when compiling very large two-dimensional array). Differential Revision: http://llvm-reviews.chandlerc.com/D1043 llvm-svn: 185080
* [lsan] Fix flaky test.Sergey Matveev2013-06-271-2/+3
| | | | llvm-svn: 185079
* tsan: revert dynamic symbols file to the old incorrect oneDmitry Vyukov2013-06-272-382/+5
| | | | | | | full proper list of dynamic symbols crashes old gold (see bug 16468). the culprit is 'memcpy' function, if it's added to syms file, gold crashes llvm-svn: 185078
* tsan: remove non-existent functions from syms fileDmitry Vyukov2013-06-272-13/+10
| | | | llvm-svn: 185077
* [msan] Optionally disable 2 tests (dlopen & gethostbyname).Evgeniy Stepanov2013-06-271-12/+20
| | | | llvm-svn: 185076
* Add support for passing v8fp options via -mfpu.Joey Gouly2013-06-273-1/+18
| | | | llvm-svn: 185075
* Add a Subtarget feature 'v8fp' to the ARM backend.Joey Gouly2013-06-277-5/+36
| | | | llvm-svn: 185073
* Remove unused variable.Benjamin Kramer2013-06-271-2/+0
| | | | llvm-svn: 185072
* Don't cast away constness.Benjamin Kramer2013-06-271-1/+2
| | | | llvm-svn: 185071
* [SystemZ] Fix some embarrassing test typosRichard Sandiford2013-06-2714-30/+30
| | | | llvm-svn: 185070
* [SystemZ] Allow LA and LARL to be rematerializedRichard Sandiford2013-06-274-4/+36
| | | | llvm-svn: 185069
* [SystemZ] Allow immediate moves to be rematerializedRichard Sandiford2013-06-278-39/+94
| | | | llvm-svn: 185068
* [sanitizer] Fix dirent interceptors.Evgeniy Stepanov2013-06-273-14/+47
| | | | | | The new version reads d_reclen for (struct dirent) size. llvm-svn: 185067
* [LSan] Add the way to disable LSan at link timeAlexey Samsonov2013-06-274-0/+41
| | | | llvm-svn: 185066
* [SystemZ] Add conditional store patternsRichard Sandiford2013-06-2713-9/+1910
| | | | | | | | | | | | | | | | | | | | | Add pseudo conditional store instructions, so that we use: branch foo: store foo: instead of: load branch foo: move foo: store z196 has real 32-bit and 64-bit conditional stores, but we don't use any z196 instructions yet. llvm-svn: 185065
* Add more owners to CODE_OWNERS.TXT (Kostya Serebryany: AddressSanitizer and ↵Kostya Serebryany2013-06-271-0/+8
| | | | | | ThreadSanitizer; Evgeniy Stepanov: MemorySanitizer) llvm-svn: 185064
* [TSan] try to fix Go buildAlexey Samsonov2013-06-271-0/+1
| | | | llvm-svn: 185063
* [MSan] Rename __msan_unpoision_param to __msan::UnpoisonParam - it shouldn't ↵Alexey Samsonov2013-06-274-9/+8
| | | | | | be in interface llvm-svn: 185062
* Update testing case to make DI nodes have the correct format.Manman Ren2013-06-271-3/+3
| | | | llvm-svn: 185061
* Add CXXFLAGS back to the Link command.Bob Wilson2013-06-271-1/+2
| | | | | | | | This is essentially reverting one piece of 184793 to try to fix one of Apple's buildbots. I will check with Eric to see if this is OK or if we need to find some other solution. llvm-svn: 185060
OpenPOWER on IntegriCloud