| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
introduced regressions in the Ocaml bindings tests.
llvm-svn: 80969
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and exact flags. Because ConstantExprs are uniqued, creating an
expression with this flag causes all expressions with the same operands
to have the same flag, which may not be safe. Add, sub, mul, and sdiv
ConstantExprs are usually folded anyway, so the main interesting flag
here is inbounds, and the constant folder already knows how to set the
inbounds flag automatically in most cases, so there isn't an urgent need
for the API support.
This can be reconsidered in the future, but for now just removing these
API bits eliminates a source of potential trouble with little downside.
llvm-svn: 80959
|
|
|
|
| |
llvm-svn: 80451
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
| |
llvm-svn: 78755
|
|
|
|
|
|
| |
contexts through a number of APIs.
llvm-svn: 78258
|
|
|
|
|
|
|
|
| |
change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
|
|
|
| |
llvm-svn: 77685
|
|
|
|
| |
llvm-svn: 77635
|
|
|
|
| |
llvm-svn: 77516
|
|
|
|
| |
llvm-svn: 77494
|
|
|
|
| |
llvm-svn: 77366
|
|
|
|
| |
llvm-svn: 77347
|
|
|
|
| |
llvm-svn: 77266
|
|
|
|
| |
llvm-svn: 77247
|
|
|
|
|
|
| |
thanks to contexts-on-types. More to come.
llvm-svn: 77011
|
|
|
|
| |
llvm-svn: 76598
|
|
|
|
|
|
|
|
|
| |
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
|
|
|
|
|
|
| |
behavior.
llvm-svn: 75538
|
|
|
|
|
|
|
|
|
| |
Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.
llvm-svn: 75445
|
|
|
|
|
|
|
|
|
| |
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
|
|
|
|
|
|
|
| |
these instructions, no autoupgrade or backwards compatibility support is
provided.
llvm-svn: 74991
|
|
|
|
| |
llvm-svn: 73839
|
|
|
|
| |
llvm-svn: 73835
|
|
|
|
|
|
|
|
|
| |
Rather than trying to make the global reader-writer lock work,
create separate recursive mutexes for each value map. The recursive-ness fixes the double-acquiring issue, which having one per ValueMap
lets us continue to maintain some concurrency.
llvm-svn: 73801
|
|
|
|
|
|
|
|
|
|
| |
The constant creation
gets involved, and we end up trying to recursively acquire a writer lock. The fix for this is slightly horrible,
and involves passing a boolean "locked" parameter around in Constants.cpp, but it's better than having locked and
unlocked versions of most of the code.
llvm-svn: 73790
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
failures.
To support this, add some utility functions to Type to help support
vector/scalar-independent code. Change ConstantInt::get and
ConstantFP::get to support vector types, and add an overload to
ConstantInt::get that uses a static IntegerType type, for
convenience.
Introduce a new getConstant method for ScalarEvolution, to simplify
common use cases.
llvm-svn: 73431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
llvm-svn: 72897
|
|
|
|
|
|
|
| |
shift constant expressions, and add support for folding vector
shift constant expressions. This fixes PR3802.
llvm-svn: 67010
|
|
|
|
|
|
|
| |
has never been run!).
- Sorry, don't know how to make an LLVM test case for this.
llvm-svn: 65383
|
|
|
|
|
|
| |
fires during the Ada build).
llvm-svn: 63731
|
|
|
|
|
|
|
| |
i80 to x86 long double (this was presumably generated
by sroa).
llvm-svn: 63730
|
|
|
|
|
|
|
|
| |
Besides APFloat, this involved removing code
from two places that thought they knew the
result of frem(0., x) but were wrong.
llvm-svn: 62645
|
|
|
|
|
|
|
| |
langref. Constant fold them to undef instead of trying to preserve
the trap. This fixes PR3354.
llvm-svn: 62534
|
|
|
|
|
|
| |
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>
llvm-svn: 58964
|
|
|
|
| |
llvm-svn: 58653
|
|
|
|
| |
llvm-svn: 57625
|
|
|
|
|
|
|
| |
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
|
|
|
|
|
|
|
| |
make it clearer what the function does. No functional
change.
llvm-svn: 57325
|
|
|
|
|
|
| |
equivalence.
llvm-svn: 55694
|
|
|
|
|
|
|
|
|
| |
be folded. Instead, fail to fold the entire vector.
We could also return a vector with some elements folded and some not. If anyone
thinks that's a better approach, please speak up!
llvm-svn: 55689
|
|
|
|
|
|
| |
infinite recursion. part of PR2529
llvm-svn: 53383
|
|
|
|
|
|
| |
it for PR2529
llvm-svn: 53380
|
|
|
|
| |
llvm-svn: 53243
|
|
|
|
|
|
|
|
|
|
|
| |
1) evaluate [v]fcmp true/false with undefs to true or false instead
of undef.
2) fix vector comparisons with undef to return a vector result instead
of i1
3) fix vector comparisons with evaluatable results to return vector
true/false instead of i1 true/false (PR2529)
llvm-svn: 53220
|
|
|
|
| |
llvm-svn: 51889
|
|
|
|
| |
llvm-svn: 51223
|
|
|
|
| |
llvm-svn: 51217
|
|
|
|
| |
llvm-svn: 51216
|
|
|
|
|
|
| |
moving toward making structs and arrays first-class types.
llvm-svn: 51157
|