summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-15331-1950/+1950
| | | | | | tests fail. llvm-svn: 188447
* Use MVT instead of EVT in X86ISelDAGToDAG since all the types should be legal.Craig Topper2013-08-151-29/+29
| | | | llvm-svn: 188446
* Use MVT in place of EVT in more X86 operation lowering functions.Craig Topper2013-08-151-38/+33
| | | | llvm-svn: 188445
* Fixed typo in CMakeLists.txt.Michael Gottesman2013-08-151-1/+1
| | | | | | | | We were marking both LLVMBUILDOUTPUT and LLVMBUILDERRORS as ERROR_VARIABLES when clearly LLVMBUILDOUTPUT should be marked as OUTPUT_VARIABLE. llvm-svn: 188444
* A new test case which adds a dSYM to an executable mid-debug sessionJason Molenda2013-08-153-0/+65
| | | | | | | where the executable has been slid. This detects the regression fixed in r188289. llvm-svn: 188443
* Replace getValueType().getSimpleVT() with getSimpleValueType().Craig Topper2013-08-156-18/+17
| | | | llvm-svn: 188442
* Replace getValueType().getSimpleVT() with getSimpleValueType(). Also remove ↵Craig Topper2013-08-155-77/+77
| | | | | | one weird cast from MVT->EVT just to call getSimpleVT(). llvm-svn: 188441
* Add a bit of explanation for FrontendActionFactory.Stefanus Du Toit2013-08-151-1/+4
| | | | | | | Also use the more common "derive from" in place of "extend" in another comment. llvm-svn: 188440
* Add ctorInitializer to the dynamic AST Matcher registry.Stefanus Du Toit2013-08-151-0/+1
| | | | llvm-svn: 188439
* ObjectiveC [Sema]. This patch makes sure that all inheritedFariborz Jahanian2013-08-142-0/+59
| | | | | | | | | | properties (direct or indirect) setter/getter (or declared methods as well) are seen by the method implementation type matching logic before declaration of method in super class is seen. This fixes the warning coming out of that method mismatch. // rdar://14650159 llvm-svn: 188438
* Auto-compute live intervals on demand.Mark Lacey2013-08-149-101/+145
| | | | | | | | | | | | | | | When new virtual registers are created during splitting/spilling, defer creation of the live interval until we need to use the live interval. Along with the recent commits to notify LiveRangeEdit when new virtual registers are created, this makes it possible for functions like TargetInstrInfo::loadRegFromStackSlot() and TargetInstrInfo::storeRegToStackSlot() to create multiple virtual registers as part of the process of generating loads/stores for different register classes, and then have the live intervals for those new registers computed when they are needed. llvm-svn: 188437
* Add the MachineInstrSpan class.Mark Lacey2013-08-141-0/+25
| | | | | | | | | | | | | | | MachineInstrSpan is initialized with a MachineBasicBlock::iterator, and is intended to track which instructions are inserted before/after that instruction from the time the MachineInstrSpan is created. It provides a begin()/end() interface to walk the range of instructions inserted around the initial instruction (including that initial instruction). It also provides a getInitial() interface to return the initial iterator. llvm-svn: 188436
* Notify LiveRangeEdit of new virtual registers.Mark Lacey2013-08-144-5/+50
| | | | | | | | | Add a delegate class to MachineRegisterInfo with a single virtual function, MRI_NoteNewVirtualRegister(). Update LiveRangeEdit to inherit from this delegate class and override the definition of the callback with an implementation that tracks the newly created virtual registers. llvm-svn: 188435
* Track new virtual registers by register number.Mark Lacey2013-08-1411-74/+83
| | | | | | | | | | Track new virtual registers by register number, rather than by the live interval created for them. This is the first step in separating the creation of new virtual registers and new live intervals. Eventually live intervals will be created and populated on demand after the virtual registers have been created and used in instructions. llvm-svn: 188434
* [static analyzer] add a simple "CallEffects" API to query the retain count ↵Ted Kremenek2013-08-142-1/+77
| | | | | | | | | | | | | | semantics of a method. This is intended to be a simplified API, whose internals are deliberately less efficient for the purpose of a simplified interface, for use with clients that want to query the analyzer's heuristics for determining retain count semantics. There are no immediate clients, but it is intended to be used by the ObjC modernizer. llvm-svn: 188433
* [static analyzer] Factor out ArgEffect and RetEffect into public header file.Ted Kremenek2013-08-142-93/+201
| | | | | | | This is a WIP change to allow other clients to query the retain count heuristics of the static analyzer. llvm-svn: 188432
* R600/SI: Improve legalization of vector operationsTom Stellard2013-08-145-5/+167
| | | | | | This should fix hangs in the OpenCL piglit tests. llvm-svn: 188431
* R600/SI: Replace v1i32 type with i32 in imageload and sample intrinsicsTom Stellard2013-08-145-4/+35
| | | | llvm-svn: 188430
* R600/SI: Convert v16i8 resource descriptors to i128Tom Stellard2013-08-1414-78/+314
| | | | | | | | | | | | | Now that compute support is better on SI, we can't continue using v16i8 for descriptors since this is also a legal type in OpenCL. This patch fixes numerous hangs with the piglit OpenCL test and since we now use a target specific DAG node for LOAD_CONSTANT with the correct MemOperandFlags, this should also fix: https://bugs.freedesktop.org/show_bug.cgi?id=66805 llvm-svn: 188429
* R600/SI: Use i8 types for resource descriptors in testsTom Stellard2013-08-144-62/+62
| | | | | | | We switched from i32 to i8 types a while ago and the tests were never updated. llvm-svn: 188428
* R600/SI: Lower BUILD_VECTOR to REG_SEQUENCE v2Tom Stellard2013-08-149-112/+137
| | | | | | | | | | | | Using REG_SEQUENCE for BUILD_VECTOR rather than a series of INSERT_SUBREG instructions should make it easier for the register allocator to coalasce unnecessary copies. v2: - Use an SGPR register class if all the operands of BUILD_VECTOR are SGPRs. llvm-svn: 188427
* R600/SI: Choose the correct MOV instruction for copying immediatesTom Stellard2013-08-145-0/+69
| | | | | | | | The instruction selector will now try to infer the destination register so it can decided whether to use V_MOV_B32 or S_MOV_B32 when copying immediates. llvm-svn: 188426
* R600/SI: Assign a register class to the $vaddr operand for MIMG instructionsTom Stellard2013-08-148-60/+153
| | | | | | | The previous code declared the operand as unknown:$vaddr, which made it possible for scalar registers to be used instead of vector registers. llvm-svn: 188425
* [llvm-build] Make Py3 compatible.Daniel Dunbar2013-08-144-102/+117
| | | | llvm-svn: 188424
* DataFlowSanitizer: move abilist input file to Inputs.Peter Collingbourne2013-08-142-1/+1
| | | | llvm-svn: 188423
* DebugInfo: Prefer references over pointers, pass by const reference for a ↵David Blaikie2013-08-142-7/+7
| | | | | | type that will grow in the future llvm-svn: 188422
* R600/SI: Handle MSAA texture targetsTom Stellard2013-08-143-3/+34
| | | | | | | Patch by: Marek Olšák Signed-off-by: Marek Olšák <marek.olsak@amd.com> llvm-svn: 188421
* R600/SI: Allow conversion between v32i8 and v8i32Tom Stellard2013-08-143-2/+28
| | | | | | | Patch by: Marek Olšák Signed-off-by: Marek Olšák <marek.olsak@amd.com> llvm-svn: 188420
* R600/SI: Fix an obvious typoTom Stellard2013-08-141-1/+1
| | | | | | | Patch by: Marek Olšák Signed-off-by: Marek Olšák <marek.olsak@amd.com> llvm-svn: 188419
* R600/SI: Add pattern for fp_to_uintTom Stellard2013-08-142-10/+21
| | | | | | | | | This fixes the F2U opcode for the Mesa driver. Patch by: Marek Olšák Signed-off-by: Marek Olšák <marek.olsak@amd.com> llvm-svn: 188418
* [lit] Add test coverage of gtest format.Daniel Dunbar2013-08-143-0/+57
| | | | llvm-svn: 188417
* [lit] Ensure test output is converted to strings where possible.Daniel Dunbar2013-08-147-4/+63
| | | | | | - This cleans up the text output of failing tests when run under PY3. llvm-svn: 188416
* Fix small typo: s/succ/Succ/Mark Lacey2013-08-141-1/+1
| | | | llvm-svn: 188415
* Relax testcase for r188400 to not test for forward-slashes as path separators.Adrian Prantl2013-08-141-3/+3
| | | | llvm-svn: 188414
* Relax complete-type check for functions and function pointers to allow void ↵Howard Hinnant2013-08-141-0/+10
| | | | | | return type. This bug was exposed by Eli Friedman's commit to clang r188324. Anywhere this version of clang ships, this libc++ fix must follow. However this fix is compatible with previous clangs, and so this libc++ doesn't need to wait for this clang. llvm-svn: 188413
* DataFlowSanitizer: Instrumentation for memset.Peter Collingbourne2013-08-142-1/+33
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1395 llvm-svn: 188412
* [dfsan] New __dfsan_set_label runtime function.Peter Collingbourne2013-08-141-2/+7
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1396 llvm-svn: 188411
* PR16875: The return type of a dependent function type is visible when it'sRichard Smith2013-08-145-15/+70
| | | | | | | | | | | referenced as a member of the current instantiation. In that case, deduce the type of the function to a dependent type rather than exposing an undeduced auto type to the rest of the current instantiation. The standard doesn't really say that the type is dependent in this case; I'll bring this up with CWG. llvm-svn: 188410
* Bug fix: note diagnosis on expression narrowing should say "variable ↵Larisse Voufo2013-08-143-2/+15
| | | | | | template" instead of "static data member" when appropriate llvm-svn: 188409
* Fix grammar mistake. Shuxin Yang2013-08-141-1/+1
| | | | | | Thank Richard Smith for figuring out this problem. llvm-svn: 188408
* Actually fix PPC64 64-bit GPR inline asm constraint matchingHal Finkel2013-08-142-1/+44
| | | | | | | | | | This is a follow-up to r187693, correcting that code to request the correct register class. The previous version, with the wrong register class, was not really correcting the constraints, but rather was removing them. Coincidentally, this fixed the failing test case in r187693, but obviously created other problems. llvm-svn: 188407
* Do no use -emit-llvm for -flto.Shuxin Yang2013-08-141-5/+4
| | | | | | Tested on multiple OSes. llvm-svn: 188406
* Testcase for r188400.Benjamin Kramer2013-08-142-0/+6
| | | | llvm-svn: 188405
* cpp11-migrate: Remove mention of 'headers' from serialization codeEdwin Vane2013-08-1411-72/+64
| | | | | | | | | | | | | * HeaderChangeDocument -> MigratorDocument * HeaderFileName -> TargetFile * SourceFileName -> MainSourceFile * Removed TransformID * Comments updated, at least with respect to serialization * Unit tests updated. Differential Revision: http://llvm-reviews.chandlerc.com/D1403 llvm-svn: 188404
* Add support for -fsanitize-blacklist and default blacklists for DFSan.Peter Collingbourne2013-08-145-1/+154
| | | | | | | | Also add some documentation. Differential Revision: http://llvm-reviews.chandlerc.com/D1346 llvm-svn: 188403
* DataFlowSanitizer: greylist is now ABI list.Peter Collingbourne2013-08-144-99/+334
| | | | | | | | | | | | | | | | | | | | | | | | | This replaces the old incomplete greylist functionality with an ABI list, which can provide more detailed information about the ABI and semantics of specific functions. The pass treats every function in the "uninstrumented" category in the ABI list file as conforming to the "native" (i.e. unsanitized) ABI. Unless the ABI list contains additional categories for those functions, a call to one of those functions will produce a warning message, as the labelling behaviour of the function is unknown. The other supported categories are "functional", "discard" and "custom". - "discard" -- This function does not write to (user-accessible) memory, and its return value is unlabelled. - "functional" -- This function does not write to (user-accessible) memory, and the label of its return value is the union of the label of its arguments. - "custom" -- Instead of calling the function, a custom wrapper __dfsw_F is called, where F is the name of the function. This function may wrap the original function or provide its own implementation. Differential Revision: http://llvm-reviews.chandlerc.com/D1345 llvm-svn: 188402
* [dfsan] Runtime support for ABI list functionality; can now run integration ↵Peter Collingbourne2013-08-147-10/+60
| | | | | | | | tests with args ABI. Differential Revision: http://llvm-reviews.chandlerc.com/D1351 llvm-svn: 188401
* Enhance the clang -v gcc debug printing to skip obviously bad and duplicate ↵Benjamin Kramer2013-08-142-4/+6
| | | | | | | | | | | | | | | paths. Otherwise it lists all files (e.g. shared libraries) that happen to be in the same paths the GCC installations usually reside in. On a x86_64 Debian 7 system with i386 multilibs. before: clang -v 2>&1|wc -l 3059 after: clang -v 2>&1|wc -l 10 llvm-svn: 188400
* [lit] Support parsing scripts with inconsistent or invalid encodings.Daniel Dunbar2013-08-142-12/+48
| | | | | | | | | | | | - For whatever reason, we have a lot of test files with bogus unicode characters. This patch allows those scripts to still be parsed on Python3 by changing the parsing logic to work on binary files, and only require the actual script commands to be convertible to ascii. - This patch has been tweaked to now ensure that the command strings are not of unicode type on Python 2.6-7. llvm-svn: 188398
* Use the MSVC __cpuid intrinsic instead of inline asmReid Kleckner2013-08-141-31/+14
| | | | | | This works around PR16830 in LLVM when self-hosting clang on Windows. llvm-svn: 188397
OpenPOWER on IntegriCloud