summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make a few more things const.Bill Wendling2013-08-152-3/+3
| | | | llvm-svn: 188484
* Use a reference instead of making an unnecessary copy. Also use 'const'.Bill Wendling2013-08-151-3/+3
| | | | llvm-svn: 188483
* DebugInfo: Revert change to the return type of createRecordFwdDeclDavid Blaikie2013-08-152-7/+4
| | | | | | | It still does only return DICompositeType, but I've no need to make that change right now. llvm-svn: 188482
* CodeGen: __uuidof should work even with an incomplete _GUID typeDavid Majnemer2013-08-154-79/+84
| | | | | | | | | | | | | | | | | | | | | | | | Summary: We would crash in CodeGen::CodeGenModule::EmitUuidofInitializer because our attempt to enter CodeGen::CodeGenModule::EmitConstantValue will be foiled: the type of the constant value is incomplete. Instead, create an unnamed type with the proper layout on all platforms. Punt the problem of wrongly defined struct _GUID types to the user. (It's impossible because the TU may never get to see the type and thus we can't verify that it is suitable.) This fixes PR16856. Reviewers: rsmith, rnk, thakis Reviewed By: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1375 llvm-svn: 188481
* Add another test to my last patch (NS_OPTION vs. NS_ENUM)Fariborz Jahanian2013-08-152-0/+14
| | | | | | ObjectiveC migration. llvm-svn: 188480
* [autotools->cmake] Added variable CLANG_VENDOR_UTI.Michael Gottesman2013-08-151-0/+3
| | | | llvm-svn: 188479
* [autotools->cmake] Added CMake support for the preprocessor variable ↵Michael Gottesman2013-08-151-0/+7
| | | | | | | | | | | | | CLANG_REPOSITORY_STRING. This is a patch in a longer series of patches to add capabilities/definitions that are present in the Autotools build chain and not in the CMake build chain to the CMake build chain. *NOTE* I am hacking on this in my free time. I will annotate each commit with the [autotools->cmake] header. llvm-svn: 188478
* Add rhadd builtinAaron Watry2013-08-156-0/+15
| | | | | | | | | | | | rhadd = (x+y+1)>>1 Implemented as: (x>>1) + (y>>1) + ((x&1)|(y&1)) This prevents us having to do assembly addition and overflow detection Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 188477
* Add hadd builtinAaron Watry2013-08-156-0/+15
| | | | | | | | | | (x + y) >> 1 gets changed to: (x>>1) + (y>>1) + (x&y&1) Saves us having to do any llvm assembly and overflow checking in the addition. Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 188476
* DebugInfo: remove unnecessary type registrationDavid Blaikie2013-08-151-1/+0
| | | | | | This happens in the caller a few frames up anyway. llvm-svn: 188475
* DebugInfo: Don't create duplicate forward declaration metadata unnecessarily.David Blaikie2013-08-152-7/+11
| | | | | | | No functionality change, at best a slight (questionable) optimization, but necessary for correctness of future work. llvm-svn: 188474
* Fixes a gross conditional in my last patch.Fariborz Jahanian2013-08-151-1/+1
| | | | | | | | - This line, and those below, will be ignored-- M lib/ARCMigrate/ObjCMT.cpp llvm-svn: 188473
* DataFlowSanitizer: Add a debugging feature to help us track nonzero labels.Peter Collingbourne2013-08-152-2/+71
| | | | | | | | | | | | | | | | | | Summary: When the -dfsan-debug-nonzero-labels parameter is supplied, the code is instrumented such that when a call parameter, return value or load produces a nonzero label, the function __dfsan_nonzero_label is called. The idea is that a debugger breakpoint can be set on this function in a nominally label-free program to help identify any bugs in the instrumentation pass causing labels to be introduced. Reviewers: eugenis CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1405 llvm-svn: 188472
* [dfsan] Runtime support for -dfsan-debug-nonzero-labels feature.Peter Collingbourne2013-08-151-0/+5
| | | | | | | | | | Reviewers: eugenis CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1406 llvm-svn: 188471
* ObjectiveC migrator: In deciding NS_OPTION overFariborz Jahanian2013-08-153-3/+20
| | | | | | | NS_ENUM, at least one power of 2 enumerator must be greater than two. llvm-svn: 188470
* Constify the function parameters.Bill Wendling2013-08-151-2/+2
| | | | llvm-svn: 188469
* [analyzer] If realloc fails on an escaped region, that region doesn't leak.Jordan Rose2013-08-152-1/+11
| | | | | | | | | | | | | | | | | | When a region is realloc()ed, MallocChecker records whether it was known to be allocated or not. If it is, and the reallocation fails, the original region has to be freed. Previously, when an allocated region escaped, MallocChecker completely stopped tracking it, so a failed reallocation still (correctly) wouldn't require freeing the original region. Recently, however, MallocChecker started tracking escaped symbols, so that if it were freed we could check that the deallocator matched the allocator. This broke the reallocation model for whether or not a symbol was allocated. Now, MallocChecker will actually check if a symbol is owned, and only require freeing after a failed reallocation if it was owned before. PR16730 llvm-svn: 188468
* Drive-by fix for a doxygen comment in MachineInstr.h.Joey Gouly2013-08-151-2/+2
| | | | llvm-svn: 188467
* This fixes three issues related to Thumb literal loads:Mihai Popa2013-08-155-13/+25
| | | | | | | | | 1. The offset range for Thumb1 PC relative loads is [0..1020] and not [-1024..1020] 2. Thumb2 PC relative loads may define the PC, so the restriction placed on target register is removed 3. Removes unneeded alias between "ldr.n" and t1LDRpci. ".n" is actually stripped by both tablegen and the ASM parser, so this alias rule really does nothing llvm-svn: 188466
* Thread safety analysis: move warnings within lock/unlock functions out of beta.DeLesley Hutchins2013-08-151-6/+0
| | | | llvm-svn: 188465
* [Mips][msa] Add support for halfJack Carter2013-08-152-0/+6
| | | | | | | | | Add support for half (a.k.a. __fp16) in builtin descriptions. The second argument to BUILTIN() now accepts 'h' to represent half. Patch by Daniel Sanders llvm-svn: 188464
* Build unwind tables by default on NetBSD.Joerg Sonnenberger2013-08-151-0/+3
| | | | llvm-svn: 188463
* Use the integrated assembler on NetBSD/powerpc by default.Joerg Sonnenberger2013-08-151-0/+5
| | | | llvm-svn: 188462
* [Mips][msa] Added most builtins from add.a to xoriJack Carter2013-08-152-0/+1192
| | | | | | | | | | | | | | | | | | | | Includes: add.a, adds_a, adds_s, adds_u, addv, addvi, andi.b, asub_[su], ave_[su], aver_[su], bclr, bclri, bins[lr], bins[lr]i, bmnzi, bmzi, bneg, bnegi, bset, bseti, c(eq|ne), c(eq|ne)i, cl[et]_[su], cl[et]i_[su], copy_[su].[bhw], div_[su], dotp_[su], dpadd_[su], dpsub_[su], fadd, fceq, fclass, fcl[et], fcne, fdiv, fexp2, ffint_[su], ffql, ffqr, fill, flog2, fmadd, fmax, fmax_a, fmin, fmin_a, fmsub, fmul, frint, fseq, fsle, fslt, fsne, fsqr, fsub, ftint_[su], ftq, ilvev, ilvl, ilvod, ilvr, ldi, frcp, frsqrt, madd_q, maddr_q, maddv, max_[asu], maxi_[su], min_[asu], mini_[su], mod_[su], msub_q, msubr_q, msubv, mul_q, mulr_q, mulv, nloc, nlzc, nori, ori, pckev, pckod, pcnt, sat_[su], shf, sld, sldi, sll, slli, splat, splati, sr[al], sr[al]i, subs_[su], subv, subvi, xori Patch by Daniel Sanders llvm-svn: 188461
* [Mips][msa] Added the simple builtins (madd_q to xori)Jack Carter2013-08-1516-0/+4930
| | | | | | | | | | | | Includes: madd_q, maddr_q, maddv, max_[asu], maxi_[su], min_[asu], mini_[su], mod_[su], msub_q, msubr_q, msubv, mul_q, mulr_q, mulv, nloc, nlzc, nori, ori, pckev, pckod, pcnt, sat_[su], shf, sld, sldi, sll, slli, splat, splati, sr[al], sr[al]i, subs_[su], subss_u, subus_s, subv, subvi, vshf, xori Patch by Daniel Sanders llvm-svn: 188460
* Update sanitizer attribute documentation to match behaviour change in r187967.Evgeniy Stepanov2013-08-153-6/+3
| | | | llvm-svn: 188459
* [Mips][msa] Added the simple builtins (fadd to ftq)Jack Carter2013-08-1514-0/+2385
| | | | | | | | | | | | Includes: fadd, fceq, fcg[et], fclass, fcl[et], fcne, fcun, fdiv, fexdo, fexp2, fexup[lr], ffint_[su], ffql, ffqr, fill, flog2, fmadd, fmax, fmax_a, fmin, fmin_a, fmsub, fmul, frint, frcp, frsqrt, fseq, fsge, fsgt, fsle, fslt, fsne, fsqr, fsub, ftint_s, ftq Patch by Daniel Sanders llvm-svn: 188458
* [Mips][msa] Added the simple builtins (add_a to dpsub[su], ilvev to ldi)Jack Carter2013-08-1520-20/+5708
| | | | | | | | | | | | | Includes: add_a, adds_[asu], addv, addvi, andi.b, asub_[su].[bhwd], aver?_[su]_[bhwd], bclr, bclri, bins[lr], bins[lr]i, bmnzi, bmzi, bneg, bnegi, bseli, bset, bseti, c(eq|ne), c(eq|ne)i, cl[et]_[su], cl[et]i_[su], copy_[su].[bhw], div_[su], dotp_[su], dpadd_[su], dpsub_[su], ilvev, ilvl, ilvod, ilvr, insv, insve, ldi Patch by Daniel Sanders llvm-svn: 188457
* Fix the build failure of Realease versionHao Liu2013-08-151-1/+1
| | | | llvm-svn: 188456
* [sanitizer] Add missing include.Evgeniy Stepanov2013-08-151-0/+3
| | | | llvm-svn: 188455
* Revert r188449 as it turns out we're just missing the instructions that need ↵Craig Topper2013-08-152-17/+26
| | | | | | the v16i32/v16f32 matching. llvm-svn: 188454
* Add back a test that was removed in r188450David Majnemer2013-08-151-0/+1
| | | | llvm-svn: 188453
* Clang and AArch64 backend patches to support shll/shl and vmovl instructions ↵Hao Liu2013-08-154-7/+292
| | | | | | and ACLE functions llvm-svn: 188452
* Clang and AArch64 backend patches to support shll/shl and vmovl instructions ↵Hao Liu2013-08-1510-1/+622
| | | | | | and ACLE functions llvm-svn: 188451
* [-cxx-abi microsoft] Mangle member pointers betterDavid Majnemer2013-08-152-15/+58
| | | | | | | | | | | | | | | | | | | | Summary: There were several things going wrong: - We mangled in useless qualifiers like "volatile void" return types. - We didn't propagate 64-bit pointer markers sufficiently. - We mangled qualifiers belonging to the pointee incorrectly. This fixes PR16844 and PR16848. Reviewers: rnk, whunt Reviewed By: rnk CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1353 llvm-svn: 188450
* Don't let isPermImmMask handle v16i32 since VPERMI doesn't match on that ↵Craig Topper2013-08-152-26/+17
| | | | | | type. Remove 128-bit vector handling from isPermImmMask too, it's covered by isPSHUFDMask. llvm-svn: 188449
* Tentative fix for global-buffer-overflow caused by r188426. Found by ↵Alexey Samsonov2013-08-151-1/+4
| | | | | | AddressSanitizer llvm-svn: 188448
* 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
OpenPOWER on IntegriCloud