summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Test for previously checked in patch.Fariborz Jahanian2012-05-101-0/+80
| | | | | | // rdar://11374235 llvm-svn: 156552
* formatting change: strip debug info from testJoel Jones2012-05-101-293/+83
| | | | llvm-svn: 156551
* ARM: peephole optimization to remove cmp instructionManman Ren2012-05-103-27/+161
| | | | | | | | | | | | | | | | | This patch will optimize the following cases: sub r1, r3 | sub r1, imm cmp r3, r1 or cmp r1, r3 | cmp r1, imm bge L1 TO subs r1, r3 bge L1 or ble L1 If the branch instruction can use flag from "sub", then we can replace "sub" with "subs" and eliminate the "cmp" instruction. rdar: 10734411 llvm-svn: 156550
* Fix a problem with incomplete equality testing of PHINodes in Joel Jones2012-05-102-1/+427
| | | | | | | | | | | | | | | | | | | | Instruction::IsIdenticalToWhenDefined. This manifested itself when inlining two calls to the same function. The inlined function had a switch statement that returned one of a set of global variables. Without this modification, the two phi instructions that chose values from the branches of the switch instruction inlined from the callee were considered equivalent and jump-threading replaced a load for the first switch value with a phi selecting from the second switch, thereby producing incorrect code. This patch has been tested with "make check-all", "lnt runteste nt", and llvm self-hosted, and on the original program that had this problem, wireshark. <rdar://problem/11025519> llvm-svn: 156548
* [tsan] old-dstyle Makefile for tests; two helper scripts that analyze the ↵Kostya Serebryany2012-05-105-7/+184
| | | | | | assembly code of the hot functions llvm-svn: 156547
* Fix several bugs in find/count specialized for bits.Howard Hinnant2012-05-101-32/+32
| | | | llvm-svn: 156546
* [tsan] ThreadSanitizer tests and micro benchmarks. No makefiles yet.Kostya Serebryany2012-05-1051-0/+3652
| | | | llvm-svn: 156545
* [tsan] add the old Makefile (which is the only way to build the tsan-rtl for ↵Kostya Serebryany2012-05-101-0/+95
| | | | | | now) llvm-svn: 156544
* Add friends __count_bool_true and __count_bool_false to __bit_iterator.Howard Hinnant2012-05-101-0/+4
| | | | llvm-svn: 156543
* [tsan] First commit of ThreadSanitizer (TSan) run-time library.Kostya Serebryany2012-05-1045-0/+7978
| | | | | | | | | | | | | | | | | | | | | | | | Algorithm description: http://code.google.com/p/thread-sanitizer/wiki/ThreadSanitizerAlgorithm Status: The tool is known to work on large real-life applications, but still has quite a few rough edges. Nothing is guaranteed yet. The tool works on x86_64 Linux. Support for 64-bit MacOS 10.7+ is planned for late 2012. Support for 32-bit OSes is doable, but problematic and not yet planed. Further commits coming: - tests - makefiles - documentation - clang driver patch The code was previously developed at http://code.google.com/p/data-race-test/source/browse/trunk/v2/ by Dmitry Vyukov and Kostya Serebryany with contributions from Timur Iskhodzhanov, Alexander Potapenko, Alexey Samsonov and Evgeniy Stepanov. llvm-svn: 156542
* Fix merge-typo and cleanupNadav Rotem2012-05-101-5/+3
| | | | llvm-svn: 156541
* AVX2: Add an additional broadcast idiom.Nadav Rotem2012-05-102-2/+17
| | | | llvm-svn: 156540
* Generate AVX/AVX2 shuffles even when there is a memory op somewhere else in ↵Nadav Rotem2012-05-102-4/+17
| | | | | | | | | | the program. Starting r155461 we are able to select patterns for vbroadcast even when the load op is used by other users. Fix PR11900. llvm-svn: 156539
* Fix ReadFileToBuffer to return 0 on failure (-1 is too large if returned as ↵Alexander Potapenko2012-05-101-1/+1
| | | | | | size_t). llvm-svn: 156538
* Fix an assertion hit when the serialized diagnostics writer receive a diagnosticArgyrios Kyrtzidis2012-05-109-95/+144
| | | | | | | | | | | | | | from the frontend when the location is invalid and the SourceManager null. Instead of keeping the SourceManager object in DiagnosticRenderer, propagate it to the calls accordingly (as reference when it is expected to not be null, or pointer when it may be null). This effectively makes DiagnosticRenderer not tied to a specific SourceManager, removing a hack from TextDiagnosticPrinter. rdar://11386874 llvm-svn: 156536
* <rdar://problem/11388521>Greg Clayton2012-05-101-0/+3
| | | | | | Fixed a case where the install header phase in the Xcode project would not set the LLDB_VERSION #define correctly. It has now been fixed to key off of the CURRENT_PROJECT_VERSION which will get auto updated with "agvtool bump -all". This was done by adding a build setting to the install-headers makefile based target. llvm-svn: 156535
* Warn about visibility attributes in typedefs.Rafael Espindola2012-05-102-0/+6
| | | | llvm-svn: 156534
* Remove stuff from the xcscheme file that need not be checked in.Greg Clayton2012-05-101-14/+0
| | | | llvm-svn: 156533
* <rdar://problem/11330621>Greg Clayton2012-05-1017-701/+487
| | | | | | | | | | | | Fixed the DisassemblerLLVMC disassembler to parse more efficiently instead of parsing opcodes over and over. The InstructionLLVMC class now only reads the opcode in the InstructionLLVMC::Decode function. This can be done very efficiently for ARM and architectures that have fixed opcode sizes. For x64 it still calls the disassembler to get the byte size. Moved the lldb_private::Instruction::Dump(...) function up into the lldb_private::Instruction class and it now uses the function that gets the mnemonic, operandes and comments so that all disassembly is using the same code. Added StreamString::FillLastLineToColumn() to allow filling a line up to a column with a character (which is used by the lldb_private::Instruction::Dump(...) function). Modified the Opcode::GetData() fucntion to "do the right thing" for thumb instructions. llvm-svn: 156532
* Fix an old (2009) FIXME:Rafael Espindola2012-05-107-125/+204
| | | | | | | | | | | | | | | | | | | | | // FIXME: This needs to happen before we merge declarations. Then, // let attribute merging cope with attribute conflicts. This was already being done for variables, but for functions we were merging then first and then applying the attributes. To avoid duplicating merging logic, some of the helpers in SemaDeclAttr.cpp become methods that can handle merging two attributes in one decl or inheriting attributes from one decl to another. With this change we are now able to produce errors for variables with incompatible visibility attributes or warn about unused dllimports in variables. This changes the attribute list iteration back to being in reverse source code order, as that matches what decl merging does and avoids differentiating the two cases is the merge*Attr methods. llvm-svn: 156531
* [analyzer] Do not highlight the range of the statement in case of leak.Anna Zaks2012-05-102-158/+24
| | | | | | | | | | We report a leak at a point a leaked variable is no longer accessible. The statement that happens to be at that point is not relevant to the leak diagnostic and, thus, should not be highlighted. radar://11178519 llvm-svn: 156530
* If the ObjC Step Through Trampoline plan causes a target crash, properly ↵Jim Ingham2012-05-1012-105/+195
| | | | | | | | | | | | | | propagate the error back to the controlling plans so that they don't lose control. Also change "ThreadPlanStepThrough" to take the return StackID for its backstop breakpoint as an argument to the constructor rather than having it try to figure it out itself, since it might get it wrong whereas the caller always knows where it is coming from. rdar://problem/11402287 llvm-svn: 156529
* Fix TableGen's RegPressureSet weight normalization to handle subreg DAGS.Andrew Trick2012-05-101-4/+9
| | | | | | I initially assumed that the subreg graph was a tree. That may not be true. llvm-svn: 156524
* ExecutionEngine: Check for NULL ErrorStr before using it.Jim Grosbach2012-05-101-2/+3
| | | | | | Patch by Yury Mikhaylov <yury.mikhaylov@gmail.com>. llvm-svn: 156523
* RecursiveASTVisitor:Richard Smith2012-05-092-2/+16
| | | | | | | | | | | | | We don't create any declaration to mark the explicit instantiation of function templates other than the instantiation itself, so visit that when traversing the function template decl. This is a temporary fix, pending the creation of a Decl node to represent the explicit instantiation. Patch by Daniel Jasper! llvm-svn: 156522
* Fix warning text.Jakob Stoklund Olesen2012-05-091-1/+1
| | | | llvm-svn: 156521
* Fix the objc_storeStrong recognizer to stop before walking off theDan Gohman2012-05-092-1/+38
| | | | | | end of a basic block if there's no store. llvm-svn: 156520
* Compute a backwards SubReg -> SubRegIndex map for each register.Jakob Stoklund Olesen2012-05-092-0/+23
| | | | | | | | | | | | | | | | This mapping is for internal use by TableGen. It will not be exposed in the generated files. Unfortunately, the mapping is not completely well-defined. The X86 xmm registers appear with multiple sub-register indices in the ymm registers. This is because of the odd idempotent sub_sd and sub_ss sub-register indices. I hope to be able to eliminate them entirely, so we can require the sub-registers to form a tree. For now, just place the canonical sub_xmm index in the mapping, and ignore the idempotents. llvm-svn: 156519
* Rename getSubRegs() to computeSubRegs().Jakob Stoklund Olesen2012-05-092-10/+11
| | | | | | That's what it does. llvm-svn: 156518
* objective-c. Fixes a 'fixit' where location ofFariborz Jahanian2012-05-095-3/+29
| | | | | | | '*' on objective-c class name was misplaced. // rdar://11311333 llvm-svn: 156517
* objectsize:Nuno Lopes2012-05-092-66/+97
| | | | | | | refactor code a bit to enable future changes to support run-time information add support to compute allocation sizes at run-time if penalty > 1 (e.g., malloc(x), calloc(x, y), and VLAs) llvm-svn: 156515
* Added a #define of NULL to 0 to make NULL usableSean Callanan2012-05-091-1/+9
| | | | | | in expressions. llvm-svn: 156514
* hopefully fix a bunch of ARM buildbot failuresNuno Lopes2012-05-0917-22/+22
| | | | llvm-svn: 156513
* Pull some cases of initialization with self-reference warnings out ofRichard Trieu2012-05-092-36/+67
| | | | | | -Wconditional-uninitialized into -Wuninitialized. llvm-svn: 156512
* Make ctrl-c terminate the current input line and start an empty line, ↵Johnny Chen2012-05-093-0/+12
| | | | | | | | instead of the previous content. rdar://problem/11412821 llvm-svn: 156510
* Option processing fix: should match '-F' exactly, instead.Johnny Chen2012-05-091-1/+1
| | | | llvm-svn: 156509
* Push the knowledge that we are parsing a type-id/type-name further into theRichard Smith2012-05-096-7/+21
| | | | | | | parser, and use it to emit better diagnostics in cases where an identifer can't be looked up as a type name. llvm-svn: 156508
* Add unittests for Triple::getMacOSXVersion and Triple::getiOSVersion.Chad Rosier2012-05-091-0/+65
| | | | llvm-svn: 156507
* Added a regress test for the bug #9964 before close it.Danil Malyshev2012-05-091-0/+9
| | | | | | This bug was fixed by Jim Grosbach in #138879, thanks Jim! llvm-svn: 156505
* Make redo.py more error-proofFilipe Cabecinhas2012-05-091-2/+8
| | | | | | | Deal with being passed no parameters Remove the infinite loop when it's passed something like --help llvm-svn: 156504
* Stop AltiVec parsing from going down the 'implicit int' codepath as part of itsRichard Smith2012-05-093-2/+22
| | | | | | | normal parse for token sequences like 'vector pixel foo'. This incidentally also fixes a couple of wrong-parse issues. llvm-svn: 156503
* Roll logic into a single if statement, per David's suggestion.Chad Rosier2012-05-091-3/+2
| | | | llvm-svn: 156502
* Use the triple directly, rather then getTriple().Chad Rosier2012-05-091-1/+1
| | | | llvm-svn: 156501
* Pass a target triple explicitly to check platform specific macros definitions.Simon Atanasyan2012-05-092-0/+85
| | | | | | That allows to run the tests on all platforms successfully. llvm-svn: 156500
* Now the proper fix for r156497. Sorry for the churn.Chad Rosier2012-05-091-4/+5
| | | | llvm-svn: 156498
* Move the iOSVersionMin string to a header so as to avoid a dangling pointer.Chad Rosier2012-05-092-1/+4
| | | | llvm-svn: 156497
* Remove the string pool from the global destructor chain so it doesn't get ↵Jim Ingham2012-05-091-2/+22
| | | | | | | | yanked out from under us prematurely on exit. rdar://problem/11358062 llvm-svn: 156496
* Fix -Wdelete-non-virtual-dtor in Tooling code.David Blaikie2012-05-092-0/+6
| | | | | | Also, add an anchor as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 156495
* Mark .opd @progbits, thus avoiding a warning from asm.Roman Divacky2012-05-091-1/+1
| | | | llvm-svn: 156494
* Update test case for new default of 3.0Chad Rosier2012-05-091-2/+2
| | | | llvm-svn: 156493
OpenPOWER on IntegriCloud