summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a note about SSE4.1 roundss/roundsd.Benjamin Kramer2011-02-121-0/+11
| | | | llvm-svn: 125438
* A fix for 9165.Nadav Rotem2011-02-122-4/+41
| | | | | | | | The DAGCombiner created illegal BUILD_VECTOR operations. The patch added a check that either illegal operations are allowed or that the created operation is legal. llvm-svn: 125435
* When reading the AST, delay loading of the redeclaration chain to avoid ↵Argyrios Kyrtzidis2011-02-125-12/+181
| | | | | | | | | | | deeply nested calls. Temporarily set the first (canonical) declaration as the previous one, which is the one that matters, and mark the real previous DeclID to be loaded & attached later on. Fixes rdar://8956193. llvm-svn: 125434
* Added the ability to detect which vCont packets (using the "vCont?") packetGreg Clayton2011-02-127-131/+475
| | | | | | | | | are supported by the remote GDB target. We can also now deal with the lack of vCont support and send packets that the remote GDB stub can use. We also error out of the continue if LLDB tries to do something too complex when vCont isn't supported. llvm-svn: 125433
* Update static analyzer build to checker-255.Ted Kremenek2011-02-123-2/+15
| | | | llvm-svn: 125432
* Weaken the ObjCSelfInitChecker to only warn when one calls an 'init' method ↵Ted Kremenek2011-02-123-13/+41
| | | | | | within an 'init' method. This is a temporary stop gap to avoid false positives while we investigate how to make it smarter. llvm-svn: 125427
* AsmMatcher custom operand parser failure enhancements.Jim Grosbach2011-02-124-40/+51
| | | | | | | | | | | Teach the AsmMatcher handling to distinguish between an error custom-parsing an operand and a failure to match. The former should propogate the error upwards, while the latter should continue attempting to parse with alternative matchers. Update the ARM asm parser accordingly. llvm-svn: 125426
* Add entries for Encodings T1 and A1 of "MVN (immediate)" to g_arm_opcodes ↵Johnny Chen2011-02-122-0/+39
| | | | | | | | and g_thumb_opcodes tables. The corresponding EmulateMvnRdImm() method impl is empty for now. llvm-svn: 125425
* Add test case for <rdar://problem/6888289>.Ted Kremenek2011-02-121-0/+38
| | | | llvm-svn: 125424
* Changed comments of some functions to be consistent with existing ones.Johnny Chen2011-02-121-14/+8
| | | | llvm-svn: 125423
* static analyzer: Also invalidate instance variables of a receiver in a ↵Ted Kremenek2011-02-122-0/+46
| | | | | | | | message expression, just as we do with parameters. Fixes <rdar://problem/8725041>. llvm-svn: 125422
* Add helper methods InITBlock() and LastInITBlock() to EmulateInstructionARM ↵Johnny Chen2011-02-122-15/+32
| | | | | | | | | class instead of calling out to m_it_session.InITBlock()/LastInITBlock(), which simplifies the coding a bit. llvm-svn: 125421
* Fix a silly bug I introduced when dropping std::string.Rafael Espindola2011-02-121-0/+2
| | | | llvm-svn: 125420
* Don't emit a dead store for '++' operations unless it occurs with a return ↵Ted Kremenek2011-02-125-12/+26
| | | | | | | | statement. We've never seen any other cases that were real bugs. Fixes <rdar://problem/6962292>. llvm-svn: 125419
* Add EmulateBXRm() ("Branch and Exchange") to both g_arm_opcodes and ↵Johnny Chen2011-02-122-3/+62
| | | | | | g_thumb_opcodes table. llvm-svn: 125418
* Add CMake dependencies so that LLVM_USED_LIBS order doesn't matter.Jeffrey Yasskin2011-02-118-14/+31
| | | | | | | I also sorted the tools/driver dependencies since their order no longer matters. llvm-svn: 125417
* Add a couple of utility functions plus some comments.Johnny Chen2011-02-111-0/+28
| | | | llvm-svn: 125416
* Don't report dead stores on unreachable code paths. Fixes ↵Ted Kremenek2011-02-117-15/+117
| | | | | | <rdar://problem/8405222>. llvm-svn: 125415
* - Add three more instruction contexts to EmulateInstruction:Caroline Tice2011-02-113-12/+234
| | | | | | | | | | | | | | eContextAdjustBaseRegister, eContextRegisterStore and eContextWriteMemoryRandomBits. - Implement a version of WriteBits32UnknownToMemory for writing to memory. - Modify EmulateLDM, EmulateLDMDA, EmulateLDMDB and EmulateLDMIB to use the eContextAdjustBaseRegister context when appropriate. - Add code to emulate the STM/STMIA/STMEA Arm instruction. llvm-svn: 125414
* Add EmulateCmpRnRm() for Encodings T1 & T2 to the g_thumb_opcodes table to ↵Johnny Chen2011-02-112-0/+72
| | | | | | | | emulate CMP (register) operations. llvm-svn: 125413
* attempt to capture recent discussion about overflow and inbounds geps.Chris Lattner2011-02-111-7/+21
| | | | llvm-svn: 125412
* Also fold (A+B) == A -> B == 0 when the add is commuted.Benjamin Kramer2011-02-112-12/+22
| | | | llvm-svn: 125411
* Per discussion with Dan G, inbounds geps *certainly* can haveChris Lattner2011-02-112-5/+16
| | | | | | | | | | | unsigned overflow (e.g. "gep P, -1"), and while they can have signed wrap in theoretical situations, modelling an AddRec as not having signed wrap is going enough for any case we can think of today. In the future if this isn't enough, we can revisit this. Modeling them as having NUW isn't causing any known problems either FWIW. llvm-svn: 125410
* When lowering an inbounds gep, the intermediate adds can haveChris Lattner2011-02-111-6/+3
| | | | | | | | unsigned overflow (e.g. due to a negative array index), but the scales on array size multiplications are known to not sign wrap. llvm-svn: 125409
* Tidy out asm matcher .inc output.Jim Grosbach2011-02-111-2/+2
| | | | llvm-svn: 125408
* Uses llvm::sys::path instead of hand-rolled algorithm in FileManager.Zhanyong Wan2011-02-111-32/+11
| | | | | | Reviewed by dgregor. llvm-svn: 125407
* Adds llvm::sys::path::is_separator() to test whether a char is a path separatorZhanyong Wan2011-02-113-12/+32
| | | | | | on the host OS. Reviewed by dgregor. llvm-svn: 125406
* Rearraned some emulate instruction entries under the appropriate category.Johnny Chen2011-02-111-9/+9
| | | | llvm-svn: 125405
* Implement sdiv & udiv for <4 x i16> and <8 x i8> NEON vector types.Nate Begeman2011-02-112-0/+230
| | | | | | This avoids moving each element to the integer register file and calling __divsi3 etc. on it. llvm-svn: 125402
* Add test case for PR 8646.Ted Kremenek2011-02-111-3/+24
| | | | llvm-svn: 125401
* Instead of self.runCmd(), do a stronger self.expect("process status") which alsoJohnny Chen2011-02-111-1/+3
| | | | | | checks that the process is stopped due to breakpoint at the specified line no. llvm-svn: 125400
* Reject forbidden storage class specifiers in OpenCL. Patch by George Russell!Peter Collingbourne2011-02-117-12/+43
| | | | llvm-svn: 125399
* SimplifySelectOps can only handle selects with a scalar condition. Add a checkNadav Rotem2011-02-111-0/+3
| | | | | | that the condition is not a vector. llvm-svn: 125398
* Remove RegionStoreManager::evalBinOp(), which is now handled by the SValBuilder.Ted Kremenek2011-02-111-119/+0
| | | | llvm-svn: 125396
* Rename 'InvalidateRegions()' to 'invalidateRegions()'.Ted Kremenek2011-02-1111-40/+38
| | | | llvm-svn: 125395
* Rename the operation that loads a preprocessed entity from a given offset to ↵Douglas Gregor2011-02-114-5/+7
| | | | | | indicate that we're loading from an offset, not an index, lest one be confused. No functionality change. llvm-svn: 125394
* Fix 9173.Nadav Rotem2011-02-113-0/+67
| | | | | | | Add more folding patterns to constant expressions of vector selects and vector bitcasts. llvm-svn: 125393
* Handle the case of interworking branch for EmulateLDMDA.Johnny Chen2011-02-111-1/+2
| | | | llvm-svn: 125392
* Fix #9190Nadav Rotem2011-02-111-1/+1
| | | | | | | | | | | The bug happens when the DAGCombiner attempts to optimize one of the patterns of the SUB opcode. It tries to create a zero of type v2i64. This type is legal on 32bit machines, but the initializer of this vector (i64) is target dependent. Currently, the initializer attempts to create an i64 zero constant, which fails. Added a flag to tell the DAGCombiner to create a legal zero, if we require that the pass would generate legal types. llvm-svn: 125391
* Add Thumb2 LDR (literal) instruction into the g_thumb_opcodes table.Johnny Chen2011-02-112-11/+52
| | | | | | | Change the method name from *LDRRdPCRelative to *LDRRtPCRelative to be compliant with the ARM Arch Manual which uses Rt for the destination register. llvm-svn: 125390
* Test commit.Nadav Rotem2011-02-111-1/+1
| | | | llvm-svn: 125389
* More whitespace cleanup...Jim Grosbach2011-02-112-41/+41
| | | | llvm-svn: 125388
* Fix a block sema bug where result type of initializerFariborz Jahanian2011-02-114-5/+23
| | | | | | | | | is unqualified but its initialized is qualified. This is for c only and fixes the imm. problem. c++ is more involved and is wip. // rdar://8979379 llvm-svn: 125386
* Remove trailing whitespace.Jim Grosbach2011-02-111-6/+6
| | | | llvm-svn: 125385
* Improves Clang's virtual file handling.Zhanyong Wan2011-02-115-109/+421
| | | | | | | | | | | | | | | | | | | | | | | This patch contains: - making some of the existing comments more accurate in the presence of virtual files/directories. - renaming some private data members of FileManager to match their roles better. - creating 'DirectorEntry's for the parent directories of virtual files, such that we can tell whether two virtual files are from the same directory. This is useful for injecting virtual files whose directories don't exist in the real file system. - minor clean-ups and adding comments for class FileManager::UniqueDirContainer and FileManager::UniqueFileContainer. - adding statistics on virtual files to FileManager::PrintStats(). - adding unit tests to verify the existing and new behavior of FileManager. llvm-svn: 125384
* Poison the relational operators ==, !=, <, <=, >=, > on llvm::OptionalDouglas Gregor2011-02-111-0/+54
| | | | | | | objects, since they'll end up using the implicit conversion to "bool" and causing some very "fun" surprises. llvm-svn: 125380
* Fix build.Johnny Chen2011-02-111-0/+1
| | | | llvm-svn: 125379
* Don't compare llvm::Optional<> objects directly; compare theirDouglas Gregor2011-02-111-8/+14
| | | | | | contents when it's safe. I just *love* C++ some days. llvm-svn: 125378
* Add new instruction context, eContextWriteRegisterRandomBits.Caroline Tice2011-02-113-8/+174
| | | | | | | | | | | Add new utility function, WriteBits32Unknown Modify the LDM* instruction emulation functions to call WriteBits32Unknown. Add missing overview comments to the LDM* instruction emulation functions. Add code to emulate LDMDA Arm instruction. llvm-svn: 125377
* Make LoopUnswitch preserve ScalarEvolution by just forgetting everything aboutCameron Zwarich2011-02-111-0/+5
| | | | | | | a loop when unswitching it. It only does this in the complex case, because everything should be fine already in the simple case. llvm-svn: 125369
OpenPOWER on IntegriCloud