- Feb 23, 2011
-
-
Stuart Hastings authored
r124468. Patch by Rafael Avila de Espindola! llvm-svn: 126297
-
Ted Kremenek authored
llvm-svn: 126296
-
Evan Cheng authored
The previous codegen for the slow path (when values are in VFP / NEON registers) was incorrect if the source is NaN. The new codegen uses NEON vbsl instruction to copy the sign bit. e.g. vmov.i32 d1, #0x80000000 vbsl d1, d2, d0 If NEON is not available, it uses integer instructions to copy the sign bit. rdar://9034702 llvm-svn: 126295
-
Ted Kremenek authored
Add test case (from PR 8876) for suppressing 'indirection of non-volatile null pointer...' warning due to reachability analysis. llvm-svn: 126294
-
Johnny Chen authored
Rd == 13. Add opcode entries for the generic "sub (sp minus immediate)" operations. llvm-svn: 126293
-
Peter Collingbourne authored
llvm-svn: 126292
-
Ted Kremenek authored
Add test case for PR 9284, a false positive for -Warray-bounds that is now addressed using basic reachability analysis. llvm-svn: 126291
-
Ted Kremenek authored
Enhance Sema::DiagRuntimeBehavior() to delay some diagnostics to see if the related code is reachable. This suppresses some diagnostics that occur in unreachable code (e.g., -Warray-bound). We only pay the cost of doing the reachability analysis when we issue one of these diagnostics. llvm-svn: 126290
-
Ted Kremenek authored
Migrate CFGReachabilityAnalysis out of the IdempotentOperationsChecker and into its own analysis file. llvm-svn: 126289
-
Ted Kremenek authored
llvm-svn: 126288
-
Ted Kremenek authored
Issue AnalysisBasedWarnings as part of calling Sema::PopBlockOrFunctionScope(). No real functionality change. llvm-svn: 126287
-
Ted Kremenek authored
Update Sema::DiagRuntimeBehavior() to take an optional Stmt* to indicate the code the diagnostic is associated with. This Stmt* is unused, but we will use it shortly for pruning diagnostics associated with unreachable code. llvm-svn: 126286
-
Ted Kremenek authored
Change -Warray-bounds logic to use DiagRuntimeBehavior in preparation for using basic dataflow to suppress warnings on unreachable array bounds checks. llvm-svn: 126285
-
Argyrios Kyrtzidis authored
CastToStructChecker FixedAddressChecker MacOSXAPIChecker PointerArithChecker PointerSubChecker PthreadLockChecker UnixAPIChecker llvm-svn: 126284
-
Johnny Chen authored
llvm-svn: 126283
-
Jakob Stoklund Olesen authored
When a large live range is evicted, it will usually be split when it comes around again. By deferring evicted live ranges, the splitting happens at a time when the interference pattern is more realistic. This prevents repeated splitting and evictions. llvm-svn: 126282
-
Chandler Carruth authored
exist. Cheat and do this by adding some wrappers around the PresumedLoc machinery that directly return the line and column number. llvm-svn: 126281
-
Richard Smith authored
llvm-svn: 126280
-
Richard Smith authored
Fix PR9276: We were missing the checks for auto deducing to different types in the same declaration group in the template instantiation case. llvm-svn: 126279
-
Greg Clayton authored
of Stephen Wilson's idea (thanks for the input Stephen!). What I ended up doing was: - Got rid of ArchSpec::CPU (which was a generic CPU enumeration that mimics the contents of llvm::Triple::ArchType). We now rely upon the llvm::Triple to give us the machine type from llvm::Triple::ArchType. - There is a new ArchSpec::Core definition which further qualifies the CPU core we are dealing with into a single enumeration. If you need support for a new Core and want to debug it in LLDB, it must be added to this list. In the future we can allow for dynamic core registration, but for now it is hard coded. - The ArchSpec can now be initialized with a llvm::Triple or with a C string that represents the triple (it can just be an arch still like "i386"). - The ArchSpec can still initialize itself with a architecture type -- mach-o with cpu type and subtype, or ELF with e_machine + e_flags -- and this will then get translated into the internal llvm::Triple::ArchSpec + ArchSpec::Core. The mach-o cpu type and subtype can be accessed using the getter functions: uint32_t ArchSpec::GetMachOCPUType () const; uint32_t ArchSpec::GetMachOCPUSubType () const; But these functions are just converting out internal llvm::Triple::ArchSpec + ArchSpec::Core back into mach-o. Same goes for ELF. All code has been updated to deal with the changes. This should abstract us until later when the llvm::TargetSpec stuff gets finalized and we can then adopt it. llvm-svn: 126278
-
Jakob Stoklund Olesen authored
llvm-svn: 126277
-
Jakob Stoklund Olesen authored
Use interval sizes instead of spill weights to determine if it is legal to evict interference. A smaller interval can evict interference if all interfering live ranges are larger. Allow multiple interferences to be evicted as along as they are all larger than the live range being allocated. Spill weights are still used to select the preferred eviction candidate. llvm-svn: 126276
-
Argyrios Kyrtzidis authored
NilArgChecker CFNumberCreateChecker ClassReleaseChecker llvm-svn: 126275
-
Argyrios Kyrtzidis authored
It would run PostObjCMessage checkers even for PreObjCMessage checking. llvm-svn: 126274
-
Argyrios Kyrtzidis authored
llvm-svn: 126273
-
Argyrios Kyrtzidis authored
-In general, don't have the BugReporter deleting BugTypes, BugTypes will eventually become owned by checkers and outlive the BugReporter. In the meantime, there will be some leaks since some checkers assume that the BugTypes they create will be destroyed by the BugReporter. -Have BugReporter::EmitBasicReport create BugTypes that are reused if the same name & category strings are passed to EmitBasicReport. These BugTypes are owned and destroyed by the BugReporter. This allows bugs reported through EmitBasicReport to be coalesced. -Remove the llvm::FoldingSet<BugReportEquivClass> from BugType and move it into the BugReporter. For uniquing BugReportEquivClass also use the BugType* so that we can iterate over all of them using only one set. llvm-svn: 126272
-
Johnny Chen authored
llvm-svn: 126271
-
Argyrios Kyrtzidis authored
llvm-svn: 126270
-
Fariborz Jahanian authored
errornously defined inside an objc class. // rdar://7029784 llvm-svn: 126269
-
Richard Smith authored
llvm-svn: 126268
-
Johnny Chen authored
llvm-svn: 126267
-
Matt Beaumont-Gay authored
mostly just shuffles various possibilities for recovery into a more straightforward order, but also unifies a couple of diagnostics. llvm-svn: 126266
-
Johnny Chen authored
Plus add missing break stmts for "case" blocks. llvm-svn: 126265
-
David Greene authored
[AVX] General VUNPCKL codegen support. llvm-svn: 126264
-
David Greene authored
Fix Builder::execute() to more properly pass the desired environment to tools. llvm-svn: 126263
-
Douglas Gregor authored
FunctionProtoTypeLoc with NULL function parameter types, which can occur in invalid code. Fixes PR9247 / <rdar://problem/9037911>. llvm-svn: 126262
-
Fariborz Jahanian authored
specifier in legacy code. Patch is reviewed offline by Doug. // rdar://9036633. llvm-svn: 126261
-
Greg Clayton authored
llvm-svn: 126260
-
Jakob Stoklund Olesen authored
This is based on the observation that long live ranges are more difficult to allocate, so there is a better chance of solving the puzzle by handling the big pieces first. The allocator will evict and split long alive ranges when they get in the way. RABasic is still using spill weights for its priority queue, so the interface to the queue has been virtualized. llvm-svn: 126259
-
Jakob Stoklund Olesen authored
llvm-svn: 126258
-