summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add PPC FP rounding instructions fri[mnpz]Hal Finkel2013-03-297-30/+190
| | | | | | | | | These instructions are available on the P5x (and later) and on the A2. They implement the standard floating-point rounding operations (floor, trunc, etc.). One caveat: frin (round to nearest) does not implement "ties to even", and so is only enabled in fast-math mode. llvm-svn: 178337
* [Sanitizer] Follow-up for r178238 - replace DCHECKs with regular CHECKsAlexey Samsonov2013-03-291-2/+2
| | | | llvm-svn: 178336
* Fix thinko (and the bots): We still want to warn in C.Rafael Espindola2013-03-291-2/+2
| | | | llvm-svn: 178335
* Revert "Fix allocations of SmallVector and SmallPtrSet so they are more ↵Rafael Espindola2013-03-294-81/+33
| | | | | | | | | | | | | | | | | prone to" This reverts commit 617330909f0c26a3f2ab8601a029b9bdca48aa61. It broke the bots: /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:150: PushPopTest /home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:118: Failure Value of: v[i].getValue() Actual: 0 Expected: value Which is: 2 llvm-svn: 178334
* Don't special case one line extern "C" decls.Rafael Espindola2013-03-292-0/+5
| | | | | | | | | | | | | | We already avoided warning for extern "C" const char *Version_string = "2.9"; now we also don't produce any warnings for extern "C" { extern const char *Version_string2 = "2.9"; } llvm-svn: 178333
* Fix allocations of SmallVector and SmallPtrSet so they are more prone toJean-Luc Duprat2013-03-294-33/+81
| | | | | | being power-of-two sized. llvm-svn: 178332
* Add RDSEED intrinsic support defined in AVX2 extensionMichael Liao2013-03-298-4/+112
| | | | llvm-svn: 178331
* Add XTEST intrinsic defined in TSX extensionMichael Liao2013-03-293-0/+15
| | | | llvm-svn: 178330
* Removed trailing whitespace.Michael Gottesman2013-03-291-15/+15
| | | | llvm-svn: 178329
* [mips] Change type of accumulator registers to Untyped. Add two more accumulatorAkira Hatanaka2013-03-291-7/+30
| | | | | | | | register classes for Mips64 and DSP-ASE. No functionality changes. llvm-svn: 178328
* [mips] Define overloaded versions of storeRegToStack and loadRegFromStack.Akira Hatanaka2013-03-295-43/+74
| | | | | | No functionality changes. llvm-svn: 178327
* [mips] Add parameter Alignment to MipsFrameLowering's constructor.Akira Hatanaka2013-03-293-5/+4
| | | | | | No functionality changes. llvm-svn: 178326
* Rationalize how we do Halt-ing before Destroy and Detach.Jim Ingham2013-03-295-142/+107
| | | | | | <rdar://problem/13527167> llvm-svn: 178325
* “process launch” should “detach” not “kill” if the current ↵Jim Ingham2013-03-291-80/+119
| | | | | | | | | | | | | process was one we attached to. “process attach” should ask the same questions as process launch if there is a current process. “process connect” then “process launch” or “process attach” should actually work. <rdar://problem/13524210> <rdar://problem/13524208> <rdar://problem/13488919> llvm-svn: 178324
* [ELF] Add dynamic hash table and get simple dynamic libraries working with ↵Shankar Easwaran2013-03-299-52/+263
| | | | | | Hexagon llvm-svn: 178323
* [cfg] Always guard (when AddStaticInitBranches == true) DeclStmts for static ↵Ted Kremenek2013-03-291-15/+15
| | | | | | variables, not just ones with explicit initializers llvm-svn: 178322
* [analyzer] Add static initializer test case (from <rdar://problem/13227740>).Ted Kremenek2013-03-291-0/+23
| | | | llvm-svn: 178321
* Revert r178273 as it broke the Linux bootstrap due to false positivesTimur Iskhodzhanov2013-03-293-165/+17
| | | | llvm-svn: 178320
* Revert r178166. According to Howard, this code is actually ok.Dan Gohman2013-03-291-3/+1
| | | | llvm-svn: 178319
* Add static analyzer support for conditionally executing static initializers.Ted Kremenek2013-03-2910-29/+81
| | | | llvm-svn: 178318
* Add configuration plumbing to enable static initializer branching in the CFG ↵Ted Kremenek2013-03-295-3/+16
| | | | | | | | | for the analyzer. This setting still isn't enabled yet in the analyzer. This is just prep work. llvm-svn: 178317
* [Mips Assembler] Add support for OR macro with imediate opperandJack Carter2013-03-283-1/+8
| | | | | | | | | Mips assembler supports macros that allows the OR instruction to have an immediate parameter. This patch adds an instruction alias that converts this macro into a Mips ORI instruction. Contributer: Vladimir Medic llvm-svn: 178316
* <rdar://problem/11730263>Greg Clayton2013-03-289-158/+188
| | | | | | | | | | PC relative loads are missing disassembly comments when disassembled in a live process. This issue was because some sections, like __TEXT and __DATA in libobjc.A.dylib, were being moved when they were put into the dyld shared cache. This could also affect any other system that slides sections individually. The solution is to keep track of wether the bytes we will disassemble are from an executable file (file address), or from a live process (load address). We now do the right thing based off of this input in all cases. llvm-svn: 178315
* Add support of RDSEED defined in AVX2 extensionMichael Liao2013-03-2810-9/+203
| | | | llvm-svn: 178314
* Objective-C: Produce precise diagnostic whenFariborz Jahanian2013-03-283-20/+43
| | | | | | | | 'isa' ivar is accessed provided it is the first ivar. Fixit hint will follow in another patch. This is continuation of // rdar://13503456 llvm-svn: 178313
* Enhance boolean simplification to handle 16-/64-bit RDRANDMichael Liao2013-03-282-6/+43
| | | | | | | | | - RDRAND always clears the destination value when a random value is not available (i.e. CF == 0). This value is truncated or zero-extended as the false boolean value to be returned. Boolean simplification needs to skip this 'zext' or 'trunc' node. llvm-svn: 178312
* [analyzer] Document existence of ConstPointerEscape.Anna Zaks2013-03-281-0/+12
| | | | llvm-svn: 178311
* [analyzer] Add support for escape of const pointers and use it to allow ↵Anna Zaks2013-03-2811-39/+195
| | | | | | | | | | | | | “newed” pointers to escape Add a new callback that notifies checkers when a const pointer escapes. Currently, this only works for const pointers passed as a top level parameter into a function. We need to differentiate the const pointers escape from regular escape since the content pointed by const pointer will not change; if it’s a file handle, a file cannot be closed; but delete is allowed on const pointers. This should suppress several false positives reported by the NewDelete checker on llvm codebase. llvm-svn: 178310
* [analyzer] Apply the suppression rules to the nil receiver only if the value ↵Anna Zaks2013-03-286-52/+186
| | | | | | | | | | | | | | participates in the computation of the nil we warn about. We should only suppress a bug report if the IDCed or null returned nil value is directly related to the value we are warning about. This was not the case for nil receivers - we would suppress a bug report that had an IDCed nil receiver on the path regardless of how it’s related to the warning. 1) Thread EnableNullFPSuppression parameter through the visitors to differentiate between tracking the value which is directly responsible for the bug and other values that visitors are tracking (ex: general tracking of nil receivers). 2) in trackNullOrUndef specifically address the case when a value of the message send is nil due to the receiver being nil. llvm-svn: 178309
* Skip moving call address loading into callseq when targets prefer register ↵Michael Liao2013-03-284-16/+7
| | | | | | | | | | | | | | | | | | indirect call. To enable a load of a call address to be folded with that call, this load is moved from outside of callseq into callseq. Such a moving adds a non-glued node (that load) into a glued sequence. This non-glue load is only removed when DAG selection folds them into a memory form call instruction. When such instruction selection is disabled, it breaks DAG schedule. To prevent that, such moving is disabled when target favors register indirect call. Previous workaround disabling CALL32m/CALL64m insn selection is removed. llvm-svn: 178308
* [ms-cxxabi] Add more tests for r178297Reid Kleckner2013-03-282-2/+35
| | | | | | | This covers a few cases where the class of a member pointer is not a CXXRecordDecl. llvm-svn: 178307
* Removed dead code from ObjCARCOpts relating to tracking objc_retainBlocks ↵Michael Gottesman2013-03-281-37/+6
| | | | | | through the ARC Dataflow analysis. By the time we get to the ARC dataflow analysis, any objc_retainBlock calls are not optimizable. llvm-svn: 178306
* [fast-isel] Add a preemptive fix for the case where we fail to materialize anChad Rosier2013-03-281-0/+2
| | | | | | | | | | | immediate in a register. I don't believe this should ever fail, but I see no harm in trying to make this code bullet proof. I've added an assert to ensure my assumtion is correct. If the assertion fires something is wrong and we should fix it, rather then just silently fall back to SelectionDAG isel. llvm-svn: 178305
* [Mips Assembler] Add alias definitions for jalJack Carter2013-03-283-1/+22
| | | | | | | | | | | Mips assembler allows following to be used as aliased instructions: jal $rs for jalr $rs jal $rd,$rd for jalr $rd,$rs This patch provides alias definitions in td files and test cases to show the usage. Contributer: Vladimir Medic llvm-svn: 178304
* Add the X86 FMAs to the scheduling model.Nadav Rotem2013-03-282-2/+6
| | | | llvm-svn: 178303
* Minor simplification.Bill Wendling2013-03-281-8/+4
| | | | | | Go ahead and use the full path for both the .gcno and .gcda files. llvm-svn: 178302
* Add the Haswell machine model.Nadav Rotem2013-03-283-1/+128
| | | | llvm-svn: 178301
* Remove the unused port from the SandyBridge machine modelNadav Rotem2013-03-281-1/+0
| | | | llvm-svn: 178300
* Add ADX CPUID detectionMichael Liao2013-03-281-0/+4
| | | | llvm-svn: 178299
* Band-aid fix for the TSan RTL buildTimur Iskhodzhanov2013-03-281-7/+7
| | | | llvm-svn: 178298
* [sema] Check the result of getAsCXXRecordDecl() to fix the buildReid Kleckner2013-03-281-2/+2
| | | | | | | I'm not 100% sure what should happen here to find the real CXXRecordDecl. llvm-svn: 178297
* Add "static" to the Windows ALWAYS_INLINE macro (similar to what we do on POSIX)Timur Iskhodzhanov2013-03-281-1/+1
| | | | llvm-svn: 178296
* Making the buildbot happy again after changes to the default formatter for ↵Enrico Granata2013-03-283-5/+7
| | | | | | char[] llvm-svn: 178295
* Warn about more than the first unused variable when -Werror is set.Matt Beaumont-Gay2013-03-283-2/+12
| | | | | | | To do this, thread DiagnosticErrorTrap's hasUnrecoverableErrorOccurred through to Scope. llvm-svn: 178294
* These two are default in the constructor for MCAsmInfo.Eric Christopher2013-03-281-2/+0
| | | | llvm-svn: 178293
* <rdar://problem/12410225>Enrico Granata2013-03-281-1/+1
| | | | | | | By default, omit the children for a char[] and just show the string contents Can be overridden by appropriate command-line flags llvm-svn: 178292
* Make Win32 put the SRet address into EAX, fixes PR15556Timur Iskhodzhanov2013-03-283-20/+83
| | | | llvm-svn: 178291
* Remove all 'static' before ALWAYS_INLINETimur Iskhodzhanov2013-03-282-2/+2
| | | | llvm-svn: 178290
* [sema] Remove unused variable from r178283Reid Kleckner2013-03-281-1/+0
| | | | | | | Wouldn't it be cool if we had a compiler for Windows that could warn about these things? llvm-svn: 178289
* I believe debug mode for vector<T> (T != bool) is complete. If anyone sees ↵Howard Hinnant2013-03-281-1/+1
| | | | | | anything more they would like to see on it, please let me know. Debug mode is activated by compiling with -D_LIBCPP_DEBUG2=1. Eventually _LIBCPP_DEBUG2 will be renamed to just _LIBCPP_DEBUG. llvm-svn: 178288
OpenPOWER on IntegriCloud