- Dec 12, 2011
-
-
Michael J. Spencer authored
llvm-svn: 146363
-
Michael J. Spencer authored
llvm-svn: 146362
-
Chandler Carruth authored
the behavior with the newly added flag for undefined results on a zero input. I'm terrible at documentation, so comments and suggestions welcome here. llvm-svn: 146361
-
Chandler Carruth authored
argument of the cttz and ctlz intrinsics. llvm-svn: 146360
-
Chandler Carruth authored
setting the is_zero_undef flag appropriately to true as that matches the semantics of these GCC builtins. This is the Clang side of r146357 in LLVM. llvm-svn: 146358
-
Chandler Carruth authored
indicates whether the intrinsic has a defined result for a first argument equal to zero. This will eventually allow these intrinsics to accurately model the semantics of GCC's __builtin_ctz and __builtin_clz and the X86 instructions (prior to AVX) which implement them. This patch merely sets the stage by extending the signature of these intrinsics and establishing auto-upgrade logic so that the old spelling still works both in IR and in bitcode. The upgrade logic preserves the existing (inefficient) semantics. This patch should not change any behavior. CodeGen isn't updated because it can use the existing semantics regardless of the flag's value. Note that this will be followed by API updates to Clang and DragonEgg. Reviewed by Nick Lewycky! llvm-svn: 146357
-
Dylan Noblesmith authored
Accidentally left out since r145214/r145217. llvm-svn: 146356
-
Dylan Noblesmith authored
The OptLevel is now redundant with the TargetMachine*. And selectTarget() isn't really JIT-specific and could probably get refactored into one of the lower level libraries. llvm-svn: 146355
-
David Blaikie authored
llvm-svn: 146354
-
- Dec 11, 2011
-
-
-
Craig Topper authored
Remove some remants of the old palign pattern fragment that were still hanging around. Also remove a cast from inside getShuffleVPERM2X128Immediate and getShuffleVPERMILPImmediate since the only caller already had done the cast. llvm-svn: 146344
-
Anna Zaks authored
[analyzer] CStringChecker should not rely on the analyzer generating UndefOrUnknown value when it cannot reason about the expression. We are now often generating expressions even if the solver is not known to be able to simplify it. This is another cleanup of the existing code, where the rest of the analyzer and checkers should not base their logic on knowing ahead of the time what the solver can reason about. In this case, CStringChecker is performing a check for overflow of 'left+right' operation. The overflow can be checked with either 'maxVal-left' or 'maxVal-right'. Previously, the decision was based on whether the expresion evaluated to undef or not. With this patch, we check if one of the arguments is a constant, in which case we know that 'maxVal-const' is easily simplified. (Another option is to use canReasonAbout() method of the solver here, however, it's currently is protected.) This patch also contains 2 small bug fixes: - swap the order of operators inside SValBuilder::makeGenericVal. - handle a case when AddeVal is unknown in GenericTaintChecker::getPointedToSymbol. llvm-svn: 146343
-
Benjamin Kramer authored
Silences valgrind warnings about uninitalized alignment values. llvm-svn: 146342
-
Stepan Dyatkovskiy authored
Fixed bug 9905: Failure in code selection for llvm intrinsics sqrt/exp (fix for FSQRT, FSIN, FCOS, FPOWI, FPOW, FLOG, FLOG2, FLOG10, FEXP, FEXP2). Third attempt: simplified checks in test for armv7-apple-darwin11. llvm-svn: 146341
-
Benjamin Kramer authored
llvm-svn: 146340
-
NAKAMURA Takumi authored
llvm/CMakeLists.txt: Fix LLVM_LIT_TOOLS_DIR since r143728. Cygwin does not need optional tools dir. MSVC and mingw may need one. llvm-svn: 146339
-
Nick Lewycky authored
of r146334! llvm-svn: 146338
-
Anna Zaks authored
Forgot to commit the Header files. Rename generateUnknownVal -> makeGenericVal. llvm-svn: 146337
-
Anna Zaks authored
Fix a bug in SimpleSValBuilder, where we should swap lhs and rhs when calling generateUnknownVal(), - the function which creates symbolic expressions when data is tainted. The issue is not visible when we only create the expressions for taint since all expressions are commutative from taint perspective. Refactor SymExpr::symbol_iterator::expand() to use a switch instead of a chain of ifs. llvm-svn: 146336
-
- Dec 10, 2011
-
-
Nick Lewycky authored
llvm-svn: 146335
-
Nick Lewycky authored
the only parts of TM that depends on CodeGen headers with it. llvm-svn: 146334
-
Chandler Carruth authored
such as what VCS information is attached. llvm-svn: 146333
-
Chad Rosier authored
llvm-svn: 146332
-
Chad Rosier authored
[fast-isel] SelectInsertValue seems to be causing miscompiles for ARM. Disable while I investigate. llvm-svn: 146331
-
rdar://problem/9958446Greg Clayton authored
<rdar://problem/10561406> Stopped the SymbolFileDWARF::FindFunctions (...) from always calculating the line table entry for all functions that were found. This can slow down the expression parser if it ends up finding a bunch of matches. Fixed the places that were relying on the line table entry being filled in. Discovered a recursive stack blowout that happened when "main" didn't have line info for it and there was no line information for "main" llvm-svn: 146330
-
Howard Hinnant authored
llvm-svn: 146329
-
Chad Rosier authored
Fixed bug 9905: Failure in code selection for llvm intrinsics sqrt/exp (fix for FSQRT, FSIN, FCOS, FPOWI, FPOW, FLOG, FLOG2, FLOG10, FEXP, FEXP2). Second attempt. llvm-svn: 146328
-
Chad Rosier authored
llvm-svn: 146327
-
Hans Wennborg authored
and offer fixits when there is a mismatch. llvm-svn: 146326
-
Chandler Carruth authored
commit-ish. Funny thing, they have a command designed for this. ;] llvm-svn: 146325
-
Chandler Carruth authored
revision and git commit data extracted. This will be used in the Clang CMake build to avoid trying to re-detect the information. llvm-svn: 146324
-
Chandler Carruth authored
in CMake a bit more handy. Previously we would get such charming versions as the following for revision NNNN and commit-ish XXXXX: 3.1svnsvn-rNNNN 3.1svngit-svn-rNNNN 3.1svngit-svn-XXXXX The mechanism selecting betwene the latter two was particularly odd, and didn't work with all of the ways git-svn repos are set up apparently. It also misses an important point -- both the revision *and* the git commit might be relevant when working on a local branch some distance from mainline. The new logic does several things: 1) It strips the redundant initial 'svn'. 2) It always looks for a git-svn revision number base, and when found includes it in the version. 3) If the git commit-ish for the current HEAD is not exactly that revision number, it is also included. The resulting strings should roughly be: 3.1svn-rNNNN 3.1git-svn-rNNNN 3.1git-svn-rNNNN-XXXXX Suggestions on formatting etc always welcome. =] I've only looked at the LLVM version string here, not Clang's (yet). Note that the commit-ish reported is *not* terribly accurate. It updates when 'cmake' is run, not when the binary is built. Still, it may be better than nothing, especially if people have fairly long-lived git repos and branches. This is not a new limitation, just didn't want anyone to be surprised. llvm-svn: 146323
-
Stepan Dyatkovskiy authored
Fixed bug 9905: Failure in code selection for llvm intrinsics sqrt/exp (fix for FSQRT, FSIN, FCOS, FPOWI, FPOW, FLOG, FLOG2, FLOG10, FEXP, FEXP2). Second attempt. llvm-svn: 146322
-
NAKAMURA Takumi authored
llvm-svn: 146321
-
Johnny Chen authored
Move some print stmts to the test method, where they get printed only if the test is qualified to run under the current test driver run configuration. llvm-svn: 146320
-
Hal Finkel authored
Make CR spill and restore use a reserved register. These operations cannot use the register scavenger because the scavenger can only scavenge one register and frame-index elimination may have already grabbed it. llvm-svn: 146318
-
Sean Callanan authored
expression parser would never try getting typed variables from the target. llvm-svn: 146317
-
Nick Lewycky authored
llvm-svn: 146316
-
Sean Callanan authored
- Even if a frame isn't present, we always try to use FindGlobalVariable to find variables. Instead of using frame->TrackGlobalVariable() to promote the VariableSP into a ValueObject, we now simply use ValueObjectVariable. - When requesting the value of a variable, we allow returning of the "live version" of the variable -- that is, the variable in the target instead of a pointer to its freeze dried version in LLDB -- even if there is no process present. llvm-svn: 146315
-
Jakob Stoklund Olesen authored
The split point is picked such that the newly created water has the same alignment as the function. This makes the island suitable for constant pool entries with potentially higher alignment. This also fixes an issue where the basic block was split one instruction too late, causing nonconvergence of the algorithm. <rdar://problem/10550705> There is still an issue with correctly packing differently aligned entries in the island. llvm-svn: 146314
-