summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [frontend] Initialize the diagnostic client before loading an ast file.Argyrios Kyrtzidis2013-03-182-0/+26
| | | | | | | Issue reported by Tom Honermann! http://llvm.org/bugs/show_bug.cgi?id=15377 llvm-svn: 177336
* Add missing diagnostic for a nested-name-specifier on a free-standing type ↵Richard Smith2013-03-1816-87/+140
| | | | | | definition. Bump some related diagnostics from warning to extension in C++, since they're errors there. Add some missing checks for function specifiers on non-function declarations. llvm-svn: 177335
* ARM cost model: Make some vector integer to float casts cheaperArnold Schwaighofer2013-03-182-0/+198
| | | | | | | | | | | | | | | | | | | The default logic marks them as too expensive. For example, before this patch we estimated: cost of 16 for instruction: %r = uitofp <4 x i16> %v0 to <4 x float> While this translates to: vmovl.u16 q8, d16 vcvt.f32.u32 q8, q8 All other costs are left to the values assigned by the fallback logic. Theses costs are mostly reasonable in the sense that they get progressively more expensive as the instruction sequences emitted get longer. radar://13445992 llvm-svn: 177334
* ARM cost model: Correct cost for some cheap float to integer conversionsArnold Schwaighofer2013-03-182-2/+179
| | | | | | | | | | | | | | | | | | | Fix cost of some "cheap" cast instructions. Before this patch we used to estimate for example: cost of 16 for instruction: %r = fptoui <4 x float> %v0 to <4 x i16> While we would emit: vcvt.s32.f32 q8, q8 vmovn.i32 d16, q8 vuzp.8 d16, d17 All other costs are left to the values assigned by the fallback logic. Theses costs are mostly reasonable in the sense that they get progressively more expensive as the instruction sequences emitted get longer. radar://13434072 llvm-svn: 177333
* Code cleanup:Greg Clayton2013-03-1815-185/+231
| | | | | | | | | | - don't use preprocessor macros - use switch statements - don't put anything in the lldb namespace, use "lldb_perf" namespace. - Pass the action struct into each TestStep() for each step fill in - Modify the ActionWanted class to have accessors to make the continue, next, finish, kill instead of using preproc macros llvm-svn: 177332
* Extend global merge pass to optionally consider global constant variables.Quentin Colombet2013-03-182-6/+130
| | | | | | Also add some checks to not merge globals used within landing pad instructions or marked as "used". llvm-svn: 177331
* [PCH] Fix assertion hit related to enum decls inside templated funtions.Argyrios Kyrtzidis2013-03-182-0/+14
| | | | | | | Report and suggested fix by Tom Honermann! http://llvm.org/bugs/show_bug.cgi?id=13020 llvm-svn: 177330
* This code works around what appears to be a bug in another part of clang.Reed Kotler2013-03-181-1/+2
| | | | | | | | | | | | I have filed http://llvm.org/bugs/show_bug.cgi?id=15538 against clang. This code is safer anyway because "cast" assumes you really know that it's okay to make the cast. In this case isa should not be false and dyn_cast should not return null as far as I understand. But everything else is valid so I did not want to revert my previous patch for attributes mips16/nomips16 or use an llvm_unreachable here which would make a number of our tests fail for mips. llvm-svn: 177329
* Change test cases to handle unaligned references.Bill Schmidt2013-03-182-26/+10
| | | | | | | | | Hal Finkel recently added code to allow unaligned memory references for PowerPC. Two tests were temporarily modified with -disable-ppc-unaligned to keep them from failing. This patch adjusts the expected code generation for the unaligned references. llvm-svn: 177328
* Remove unnecessary leading comment characters in lit-only fileDavid Blaikie2013-03-189-10/+10
| | | | llvm-svn: 177327
* Add SchedRW annotations to most of X86InstrSSE.td.Jakob Stoklund Olesen2013-03-181-186/+280
| | | | | | | | | | We hitch a ride with the existing OpndItins class that was used to add instruction itinerary classes in the many multiclasses in this file. Use the link provided by the X86FoldableSchedWrite.Folded to find the right SchedWrite for folded loads. llvm-svn: 177326
* Add a linebreak. Linebreaks are cool.Richard Smith2013-03-181-3/+3
| | | | llvm-svn: 177325
* C++11 status: mark 'extended integral types' as N/A, since we don't supportRichard Smith2013-03-181-1/+4
| | | | | | any, and add a note that we cannot treat __int128 as an extended integral type. llvm-svn: 177324
* Annotate X86 arithmetic instructions with SchedRW lists.Jakob Stoklund Olesen2013-03-181-60/+112
| | | | | | | | | This new-style scheduling information is going to replace the instruction iteneraries. This also serves as a test case for Andy's fix in r177317. llvm-svn: 177323
* Check whether a pointer is non-null (isKnownNonNull) in isKnownNonZero.Manman Ren2013-03-182-0/+13
| | | | | | | | This handles the case where we have an inbounds GEP with alloca as the pointer. This fixes the regression in PR12750 and rdar://13286434. Note that we can also fix this by handling some GEP cases in isKnownNonNull. llvm-svn: 177321
* Bring inheriting constructor implementation up-to-date with current defectRichard Smith2013-03-1814-120/+446
| | | | | | | | | reports, and implement implicit definition of inheriting constructors. Remaining missing features: inheriting constructor templates, implicit exception specifications for inheriting constructors, inheriting constructors from dependent bases. llvm-svn: 177320
* Centralize the recording of which tools have been constructed.Rafael Espindola2013-03-185-296/+130
| | | | llvm-svn: 177319
* [analyzer] Warn when a ‘nil’ object is added to NSArray or NSMutableArray.Anna Zaks2013-03-182-4/+109
| | | | llvm-svn: 177318
* TableGen fix for the new machine model.Andrew Trick2013-03-181-4/+6
| | | | | | | | Properly handle cases where a group of instructions have different SchedRW lists with the same itinerary class. This was supposed to work, but I left in an early break. llvm-svn: 177317
* Include '.test' suffix in target specific lit configs that need itDavid Blaikie2013-03-1810-12/+13
| | | | | | | | | | Apparently my final cleanup to use a relevant suffix for these tests before committing r176831 caused them to stop running since lit wasn't configured to run tests with that suffix in those directories (why don't we just have a global suffix list?). So, add the suffix to the relevant directories & fix the test that has bitrotted over the last week due to my debug info schema changes. llvm-svn: 177315
* Make the fields in the diagram match the descriptive text above them.Eric Christopher2013-03-181-3/+3
| | | | llvm-svn: 177314
* Correct function to decide if a SCEV can be ignoredSebastian Pop2013-03-185-12/+180
| | | | | | | | | | | When doing SCEV based code generation, we ignore instructions calculating values that are fully defined by a SCEV expression. The values that are calculated by this instructions are recalculated on demand. This commit improves the check to verify if certain instructions can be ignored and recalculated on demand. llvm-svn: 177313
* tsan: smaller memory block headers (32b->16b)Dmitry Vyukov2013-03-185-49/+141
| | | | llvm-svn: 177312
* Objective-C modern translator. Don't put line infoFariborz Jahanian2013-03-182-1/+23
| | | | | | | | into the pre-preprocessed file to be passed to modern translator when compiling in no debug mode. // rdar://13138170 llvm-svn: 177311
* Removed raw references to __sun__, __FreeBSD__, __GLIBC__ and __linux__; now ↵Marshall Clow2013-03-184-13/+13
| | | | | | just check to see if they are defined. llvm-svn: 177310
* ScopHelper: clang-formatTobias Grosser2013-03-181-51/+46
| | | | llvm-svn: 177309
* ScopHelper: Remove some dead codeTobias Grosser2013-03-182-23/+0
| | | | llvm-svn: 177307
* use the canonical IV only when it existsSebastian Pop2013-03-182-14/+18
| | | | llvm-svn: 177306
* Use early returns when checking if we already constructed a tool and whenRafael Espindola2013-03-183-207/+219
| | | | | | delegating to Generic_GCC::SelectTool (it already updates the tool map). llvm-svn: 177305
* Removed raw references to _MSC_VER; now just check to see if it is defined.Marshall Clow2013-03-181-6/+6
| | | | llvm-svn: 177304
* Remove unused argument.Rafael Espindola2013-03-185-43/+40
| | | | llvm-svn: 177303
* Pass an ArgList to every toolchain constructor. Remove the useIntegratedAsRafael Espindola2013-03-187-32/+38
| | | | | | argument. llvm-svn: 177301
* Inline ShouldUseIntegratedAssembler and move the documentation toRafael Espindola2013-03-182-10/+4
| | | | | | useIntegratedAs. llvm-svn: 177300
* Refactor a bit of duplicated code to useIntegratedAs.Rafael Espindola2013-03-186-41/+19
| | | | llvm-svn: 177299
* UpdateBill Wendling2013-03-182-1/+5
| | | | llvm-svn: 177298
* Removed raw references to __APPLE__; now just check to see if it is defined.Marshall Clow2013-03-1810-16/+16
| | | | llvm-svn: 177297
* Fix 80-col. violations in PPCCTRLoopsHal Finkel2013-03-181-6/+8
| | | | llvm-svn: 177296
* Fix large count and negative constant count handling in PPCCTRLoopsHal Finkel2013-03-182-11/+104
| | | | | | | | | | | | | | | | | | This commit fixes an assert that would occur on loops with large constant counts (like looping for ((uint32_t) -1) iterations on PPC64). The existing code did not handle counts that it computed to be negative (asserting instead), but these can be created with valid inputs. This bug was discovered by bugpoint while I was attempting to isolate a completely different problem. Also, in writing test cases for the negative-count problem, I discovered that the ori/lsi handling was broken (there was a typo which caused the logic that was supposed to detect these pairs and extract the iteration count to always fail). This has now also been corrected (and is covered by one of the new test cases). llvm-svn: 177295
* Cleanup initial-value constants in PPCCTRLoopsHal Finkel2013-03-182-2/+34
| | | | | | | | Because the initial-value constants had not been added to the list of instructions considered for DCE the resulting code had redundant constant-materialization instructions. llvm-svn: 177294
* Remove unused argument.Rafael Espindola2013-03-185-78/+41
| | | | llvm-svn: 177293
* tsan: add support for idle threadsDmitry Vyukov2013-03-181-0/+5
| | | | llvm-svn: 177292
* Removed raw references to _WIN32; now just check to see if it is defined.Marshall Clow2013-03-188-19/+19
| | | | llvm-svn: 177291
* Fix integer comparison in DIEInteger::BestForm.Hans Wennborg2013-03-181-3/+4
| | | | | | | The always-true "(int)Int == (signed)Int" comparison was found while experimenting with a potential new Clang warning. llvm-svn: 177290
* tsan: touch less shadow memory during operations on big memory rangesDmitry Vyukov2013-03-183-21/+48
| | | | | | greatly reduces memory consumption llvm-svn: 177289
* tsan: mark shadow for thread stack as "don't need" when thread exitsDmitry Vyukov2013-03-185-21/+13
| | | | llvm-svn: 177288
* Remove unused argument.Rafael Espindola2013-03-184-17/+15
| | | | llvm-svn: 177287
* tsan: better memory profilerDmitry Vyukov2013-03-183-15/+80
| | | | llvm-svn: 177286
* ReleaseNotes: Tweak hexagonv2/hexagonv3 removal note.Matthew Curtis2013-03-181-1/+3
| | | | llvm-svn: 177284
* Fix clang-format segfault.Daniel Jasper2013-03-182-0/+4
| | | | | | | | When annotating "lines" starting with ":", clang-format would segfault. This could actually happen in valid code, e.g. #define A : llvm-svn: 177283
* ObjCDictionaryElements are pod-like.Benjamin Kramer2013-03-181-0/+6
| | | | llvm-svn: 177282
OpenPOWER on IntegriCloud