summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [LCG] Add some basic debug output to the LCG pass.Chandler Carruth2014-04-211-2/+17
| | | | llvm-svn: 206730
* ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.Bob Wilson2014-04-212-6/+30
| | | | | | | | | | | Unlike the standard AAPCS64 ABI, variadic arguments are always passed on the stack with the Darwin ABI, and this was not being considered when deciding whether to expand HFA/HVA arguments in a call. An HFA argument with a "float" base type was being expanded into separate "float" arguments, each of which was then extended to a double, resulting in a serious mismatch from what is expected by the va_arg implementation. <rdar://problem/15777067> llvm-svn: 206729
* Fix a comment typo.Bob Wilson2014-04-211-1/+1
| | | | llvm-svn: 206728
* Protect the ArgList dtorDavid Blaikie2014-04-202-7/+6
| | | | | | | | | | | | | It could even be made non-virtual if it weren't for bad compiler warnings. This demonstrates that ArgList objects aren't destroyed polymorphically and possibly that they aren't even used polymorphically. If that's the case, it might be possible to refactor the two ArgList types more separately and simplify the Arg ownership model. *continues experimenting* llvm-svn: 206727
* Add missing #include found by modules build.Richard Smith2014-04-201-0/+2
| | | | llvm-svn: 206726
* Remove comment that hasn't been true for 5 yearsDavid Blaikie2014-04-201-4/+1
| | | | llvm-svn: 206725
* Use unique_ptr to handle ownership of synthesized args in DerivedArgListDavid Blaikie2014-04-202-31/+29
| | | | | | | | This might be able to be simplified further by using Arg as a value type in a linked list (to maintain pointer validity), but here's something simple to start with. llvm-svn: 206724
* C++ has a bool type! (And C's had one too, for 15 years...)Richard Smith2014-04-202-38/+33
| | | | llvm-svn: 206723
* More C++ification.Richard Smith2014-04-203-227/+167
| | | | llvm-svn: 206722
* Remove some more C junk from these files.Richard Smith2014-04-202-16/+6
| | | | llvm-svn: 206721
* Don't provide two different definitions of ModRMDecision, OpcodeDecision, ↵Richard Smith2014-04-204-43/+46
| | | | | | and ContextDecision in different source files (depending on #define magic). llvm-svn: 206720
* Don't define llvm::X86Disassembler::InstructionSpecifier in different ways inRichard Smith2014-04-203-23/+20
| | | | | | different source files. llvm-svn: 206719
* Maybe if I touch this file the buildbots will actually rerun configure like ↵Richard Smith2014-04-201-1/+1
| | | | | | they need to... llvm-svn: 206718
* What year is it! This file has no reason to be written in C, and has doubly noRichard Smith2014-04-205-109/+103
| | | | | | | | | | reason to expose a global symbol 'decodeInstruction' nor to pollute the global scope with a bunch of external linkage entities (some of which conflict with others elsewhere in LLVM). This is just the initial transition to C++; more cleanups to follow. llvm-svn: 206717
* [Mips] Add more special values for the st_other field in the symbolSimon Atanasyan2014-04-201-1/+5
| | | | | | table entry for MIPS. llvm-svn: 206716
* [C++11] Range-based loop simplification.Simon Atanasyan2014-04-201-16/+13
| | | | llvm-svn: 206715
* Fix redefinition of default argument, found by modules build. It's notRichard Smith2014-04-201-5/+4
| | | | | | | | | entirely clear whether this should be valid with modules enabled, but the fixed code is cleaner regardless. Also fix a TU-local type that accidentally had external linkage. llvm-svn: 206714
* Switch NULL to C++11 nullptr in source/Symbol and source/UtilityEd Maste2014-04-2026-339/+339
| | | | | | Patch by Robert Matusewicz llvm-svn: 206713
* cindex.py: Avoid deprecated functionAlp Toker2014-04-201-4/+4
| | | | | | | | | Implement Diagnostic::category_name() using clang_getDiagnosticCategoryText() instead of the deprected clang_getDiagnosticCategoryName(). Preserves existing behaviour and API covered by existing tests. llvm-svn: 206712
* Switch NULL to C++11 nullptr in source/InterpreterEd Maste2014-04-2033-399/+399
| | | | | | Patch by Robert Matusewicz llvm-svn: 206711
* Remove some empty statementsAlp Toker2014-04-196-6/+6
| | | | | | Cleanup only. llvm-svn: 206710
* Remove some empty statementsAlp Toker2014-04-192-2/+2
| | | | | | Cleanup only. llvm-svn: 206709
* ProfileData: Remove an extra semicolonJustin Bogner2014-04-191-1/+1
| | | | | | Spotted by Nick Lewycky in review, thanks! llvm-svn: 206708
* Revert "blockfreq: Rewrite BlockFrequencyInfoImpl"Duncan P. N. Exon Smith2014-04-1912-2930/+316
| | | | | | This reverts commit r206704, as expected. llvm-svn: 206707
* Revert "blockfreq: Temporarily turn on -debug-only=block-freq"Duncan P. N. Exon Smith2014-04-192-5/+3
| | | | | | This reverts commit r206705, as planned. llvm-svn: 206706
* blockfreq: Temporarily turn on -debug-only=block-freqDuncan P. N. Exon Smith2014-04-192-3/+5
| | | | | | | | | | | These tests fail after my BlockFrequencyInfo rewrite on two buildbots [1][2]. I can't reproduce it locally, so I'm temporarily turning on -debug-only=block-freq so I can find the problem. [1]: http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/1860 [2]: http://llvm-amd64.freebsd.your.org/b/builders/clang-i386-freebsd/builds/18477 llvm-svn: 206705
* Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl"Duncan P. N. Exon Smith2014-04-1912-316/+2930
| | | | | | | | | | | | | | | | | | | | | This reverts commit r206677, reapplying my BlockFrequencyInfo rewrite. I've done a careful audit, added some asserts, and fixed a couple of bugs (unfortunately, they were in unlikely code paths). There's a small chance that this will appease the failing bots [1][2]. (If so, great!) If not, I have a follow-up commit ready that will temporarily add -debug-only=block-freq to the two failing tests, allowing me to compare the code path between what the failing bots and what my machines (and the rest of the bots) are doing. Once I've triggered those builds, I'll revert both commits so the bots go green again. [1]: http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/1816 [2]: http://llvm-amd64.freebsd.your.org/b/builders/clang-i386-freebsd/builds/18445 <rdar://problem/14292693> llvm-svn: 206704
* Fix and restore the macro-multiline.c testAlp Toker2014-04-192-8/+7
| | | | | | | | | | | | | This test didn't work as intended and was ultimately disabled some years ago in r169458. Indeed it's not clear if the '\n' was ever passed through to the driver correctly given that lit would insert '&& {' at the newline. Test rewritten to use printf/xargs to insert '\n' in a more reliable manner and to use FileCheck for verification. llvm-svn: 206703
* Utility: fix compilation on LinuxSaleem Abdulrasool2014-04-193-0/+6
| | | | | | | | When compiling on Linux with GCC 4.8, compilation would fail due to the use of the offsetof macro. This is a standard macro, defined in stddef.h. Include this header to ensure that offsetof is declared. llvm-svn: 206702
* Disallow driver use in more Sema testsAlp Toker2014-04-193-0/+12
| | | | | | | There are now only a handful of Sema tests remaining that use %clang in SemaCXX, SemaObjC and SemaTemplate. llvm-svn: 206688
* Move ObjC Cocoa.h header test to HeadersAlp Toker2014-04-191-1/+1
| | | | | | | This tests for broad compatibility with platform SDK headers using the clang driver and so belongs alongside the other header ingtegration tests. llvm-svn: 206687
* Re-enable the C++11 modules integration test on OS XAlp Toker2014-04-191-2/+2
| | | | | | | | | | XCode 5.1.1 has shipped with fixed SDK headers. This reverts commit r200256. Fixes PR18322. llvm-svn: 206686
* clang/test/Index/pch-with-errors.c: Remove XFAIL added in r206294. It has ↵NAKAMURA Takumi2014-04-191-3/+0
| | | | | | been fixed since r206644. llvm-svn: 206685
* Patch by Vadim ChugunovYaron Keren2014-04-196-6/+37
| | | | | | | | | | | Win64 stack unwinder gets confused when execution flow "falls through" after a call to 'noreturn' function. This fixes the "missing epilogue" problem by emitting a trap instruction for IR 'unreachable' on x86_x64-pc-windows. A secondary use for it would be for anyone wanting to make double-sure that 'noreturn' functions, indeed, do not return. llvm-svn: 206684
* Patch by Ray Donnelly to print register names instead of numbers.Yaron Keren2014-04-192-8/+15
| | | | | | http://reviews.llvm.org/D3422 llvm-svn: 206683
* Speculative fix for buildbot failure. Apparently Clang 3.1 got move ↵Richard Smith2014-04-191-1/+2
| | | | | | semantics wrong. llvm-svn: 206682
* Thread Safety Analysis: Convert to minimal SSA.DeLesley Hutchins2014-04-194-38/+135
| | | | llvm-svn: 206681
* When a module completes the definition of a class template specialization ↵Richard Smith2014-04-1920-149/+559
| | | | | | imported from another module, emit an update record, rather than using the broken decl rewriting mechanism. If multiple modules do this, merge the definitions together, much as we would if they were separate declarations. llvm-svn: 206680
* Included <inttypes.h> in a few headers that wereSean Callanan2014-04-193-0/+4
| | | | | | | using preprocessor constants for printf() format specifications. llvm-svn: 206679
* Add parens to appease GCC warning.David Blaikie2014-04-191-4/+4
| | | | llvm-svn: 206678
* Revert "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)Duncan P. N. Exon Smith2014-04-1912-3103/+316
| | | | | | | | | | | This reverts commit r206666, as planned. Still stumped on why the bots are failing. Sanitizer bots haven't turned anything up. If anyone can help me debug either of the failures (referenced in r206666) I'll owe them a beer. (In the meantime, I'll be auditing my patch for undefined behaviour.) llvm-svn: 206677
* Thread Safety Analysis: Update SSA pass to handle loops.DeLesley Hutchins2014-04-195-128/+271
| | | | llvm-svn: 206676
* OnDiskHashTable: Audit types and use offset_type consistentlyJustin Bogner2014-04-193-12/+13
| | | | llvm-svn: 206675
* ProfileData: Avoid UB when readingJustin Bogner2014-04-191-2/+3
| | | | llvm-svn: 206674
* Fix a hole with nested unavailable submodules from r206664Ben Langmuir2014-04-183-4/+6
| | | | | | | | If a module doesn't meet a requirement, neither do its submodules. If we don't propogate that, we might think it's an error to be missing a header in one of those submodules. llvm-svn: 206673
* OnDiskHashTable: Fix a think-o with offset_typeJustin Bogner2014-04-181-2/+2
| | | | llvm-svn: 206672
* Check whether functions have any lines associated before emitting coverage ↵Nick Lewycky2014-04-181-0/+17
| | | | | | info for them. This isn't just a size/time saving, gcov may crash on these. llvm-svn: 206671
* llvm-profdata: Avoid writing to /dev/null in testsJustin Bogner2014-04-181-10/+4
| | | | | | | We fseek on our output file in llvm-profdata, which errors on some systems. Avoid getting into the situation by writing to /dev/null llvm-svn: 206670
* Change the ARM assembler to require a :lower16: or :upper16 on non-constantKevin Enderby2014-04-186-12/+55
| | | | | | | | | | | | | | | | | | | | | | expressions for mov instructions instead of silently truncating by default. For the ARM assembler, we want to avoid misleadingly allowing something like "mov r0, <symbol>" especially when we turn it into a movw and the expression <symbol> does not have a :lower16: or :upper16" as part of the expression. We don't want the behavior of silently truncating, which can be unexpected and lead to bugs that are difficult to find since this is an easy mistake to make. This does change the previous behavior of llvm but actually matches an older gnu assembler that would not allow this but print less useful errors of like “invalid constant (0x927c0) after fixup” and “unsupported relocation on symbol foo”. The error for llvm is "immediate expression for mov requires :lower16: or :upper16" with correct location information on the operand as shown in the added test cases. rdar://12342160 llvm-svn: 206669
* test: Add extra run lines to investigate an error on the botsJustin Bogner2014-04-181-0/+6
| | | | llvm-svn: 206668
OpenPOWER on IntegriCloud