summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update ubsan test for clang change r177362.Richard Smith2013-03-191-2/+5
| | | | llvm-svn: 177363
* PR15383: When -fsanitize=float-cast-overflow checks a float-to-int conversion,Richard Smith2013-03-192-20/+36
| | | | | | | | it wasn't taking into account that the float should be truncated *before* the range check happens. Thus (unsigned)-0.99 and (unsigned char)255.9 have defined behavior and should not be trapped. llvm-svn: 177362
* Fix a sign-extension bug in PPCCTRLoopsHal Finkel2013-03-182-1/+21
| | | | | | | Don't sign extend the immediate value from the OR instruction in an LIS/OR pair. llvm-svn: 177361
* Centralize the logic for using the integrated assembler.Rafael Espindola2013-03-183-41/+13
| | | | llvm-svn: 177360
* [libclang] Modify clang_getCursorType to be able to handle a function ↵Argyrios Kyrtzidis2013-03-182-0/+7
| | | | | | template decl. llvm-svn: 177359
* documentation comment parsing. Added couple of Fariborz Jahanian2013-03-184-5/+28
| | | | | | | | top-level HeaderDoc tags @functiongroup and @methodgroup to doc. tags recognized. // rdar://12379114 llvm-svn: 177358
* Move #include of BitVector from .h to .cpp file.Jakub Staszak2013-03-183-5/+3
| | | | | | Also remove unneeded #include and forward declaration. llvm-svn: 177357
* Add some constantness.Jakub Staszak2013-03-183-3/+3
| | | | llvm-svn: 177356
* Fix bug in test; found by AddressSanitizerMarshall Clow2013-03-181-1/+1
| | | | llvm-svn: 177355
* Diagnose uses of 'alignof' on functions in -pedantic mode.Richard Smith2013-03-184-13/+17
| | | | llvm-svn: 177354
* [analyzer] Do part of the work to find shortest bug paths up front.Jordan Rose2013-03-181-42/+115
| | | | | | | | | | | | | | Splitting the graph trimming and the path-finding (r177216) already recovered quite a bit of performance lost to increased suppression. We can still do better by also performing the reverse BFS up front (needed for shortest-path-finding) and only walking the shortest path for each report. This does mean we have to walk back up the path and invalidate all the BFS numbers if the report turns out to be invalid, but it's probably still faster than redoing the full BFS every time. More performance work for <rdar://problem/13433687> llvm-svn: 177353
* [analyzer] Replace uses of assume() with isNull() in BR visitors.Jordan Rose2013-03-182-18/+28
| | | | | | | | Also, replace a std::string with a SmallString. No functionality change. llvm-svn: 177352
* Remove unneeded #includes.Jakub Staszak2013-03-182-2/+0
| | | | llvm-svn: 177351
* Make methods const.Jakub Staszak2013-03-181-2/+2
| | | | llvm-svn: 177350
* Test case for r177347.Chad Rosier2013-03-181-0/+13
| | | | llvm-svn: 177349
* Make method private. Keep coding standard.Jakub Staszak2013-03-181-26/+28
| | | | llvm-svn: 177348
* [ms-inline asm] Avoid emitting a redundant sizing directive, if we've alreadyChad Rosier2013-03-181-2/+3
| | | | | | | parsed one. Test case coming shortly. rdar://13446980 llvm-svn: 177347
* Fixed the README to match the current code.Greg Clayton2013-03-181-56/+43
| | | | llvm-svn: 177346
* PR15539: Record "evaluating if/elif condition" flag in the right placeDavid Blaikie2013-03-183-2/+11
| | | | | | | The previous implementation missed the case where the elif condition was evaluated from the context of an #ifdef that was false causing PR15539. llvm-svn: 177345
* Update testcase for r177340.Bill Wendling2013-03-181-1/+1
| | | | llvm-svn: 177344
* Add a comment about how to add a target for a test case.Jim Ingham2013-03-181-0/+2
| | | | llvm-svn: 177343
* Change NULL to 0.Jakub Staszak2013-03-181-5/+5
| | | | llvm-svn: 177342
* Move the performance test cases into their own project.Jim Ingham2013-03-183-527/+730
| | | | llvm-svn: 177341
* Register the flush function for each compile unit.Bill Wendling2013-03-181-31/+54
| | | | | | | | | | For each compile unit, we want to register a function that will flush that compile unit. Otherwise, __gcov_flush() would only flush the counters within the current compile unit, and not any outside of it. PR15191 & <rdar://problem/13167507> llvm-svn: 177340
* Remove trailing spaces.Jakub Staszak2013-03-181-13/+13
| | | | llvm-svn: 177339
* Fix PPC unaligned 64-bit loads and storesHal Finkel2013-03-184-6/+84
| | | | | | | | | | | | | PPC64 supports unaligned loads and stores of 64-bit values, but in order to use the r+i forms, the offset must be a multiple of 4. Unfortunately, this cannot always be determined by examining the immediate itself because it might be available only via a TOC entry. In order to get around this issue, we additionally predicate the selection of the r+i form on the alignment of the load or store (forcing it to be at least 4 in order to select the r+i form). llvm-svn: 177338
* Add some GCOV functions that register all of the __llvm_gcov_flush() functions.Bill Wendling2013-03-181-0/+48
| | | | | | | | | | | | | The __llvm_gcov_flush() functions only work for the local compile unit. However, when __gcov_flush() is called, the user expects all of the counters to be flushed, not just the ones in the current compile unit. This adds some library functions that register the flush functions. It also defined __gcov_flush() so that loops through that list and calls the functions. PR15191 & <rdar://problem/13167507> llvm-svn: 177337
* [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
OpenPOWER on IntegriCloud