- Jul 13, 2009
-
-
Eli Friedman authored
bitcasts will always be eliminated anyway. llvm-svn: 75495
-
Owen Anderson authored
Begin the painful process of tearing apart the rat'ss nest that is 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
-
- Jul 12, 2009
-
-
Eli Friedman authored
InstCombiner::visitSelectInstWithICmp. llvm-svn: 75409
-
Chris Lattner authored
llvm-svn: 75393
-
- Jul 11, 2009
-
-
Torok Edwin authored
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
-
Torok Edwin authored
and abort()/exit() -> llvm_report_error(). llvm-svn: 75363
-
Nick Lewycky authored
per icmp predicate out of predsimplify and into ConstantRange. Add another utility method that determines whether one range is a subset of another. Combine with the former to determine whether icmp pred range, range is known to be true or not. llvm-svn: 75357
-
- Jul 10, 2009
-
-
Owen Anderson authored
llvm-svn: 75255
-
Owen Anderson authored
This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!? llvm-svn: 75200
-
- Jul 09, 2009
-
-
Owen Anderson authored
llvm-svn: 75159
-
Nick Lewycky authored
we're inserting sigma/phi functions for. Patch by Andre Tavares. llvm-svn: 75138
-
Nick Lewycky authored
Add an -ssi-everything pass which calls createSSI on everything in the function. llvm-svn: 75135
-
- Jul 08, 2009
-
-
Owen Anderson authored
llvm-svn: 75040
-
Dan Gohman authored
This way ScalarEvolution can examine the loop to determine what state it needs to update, if it chooses. llvm-svn: 75029
-
Owen Anderson authored
llvm-svn: 75025
-
Nick Lewycky authored
these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
-
Owen Anderson authored
llvm-svn: 74985
-
- Jul 07, 2009
-
-
Dan Gohman authored
llvm-svn: 74918
-
Owen Anderson authored
llvm-svn: 74878
-
Owen Anderson authored
Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's through the ValueTracking API. llvm-svn: 74873
-
- Jul 06, 2009
-
-
Owen Anderson authored
llvm-svn: 74844
-
Owen Anderson authored
llvm-svn: 74811
-
Owen Anderson authored
llvm-svn: 74807
-
- Jul 04, 2009
-
-
Mike Stump authored
llvm-svn: 74782
-
- Jul 03, 2009
-
-
Owen Anderson authored
llvm-svn: 74781
-
Nick Lewycky authored
Use it by requiring it through the pass manager, then calling its createSSI method on the variables that you want in SSI form. llvm-svn: 74780
-
Duncan Sands authored
llvm-svn: 74773
-
Owen Anderson authored
llvm-svn: 74753
-
Owen Anderson authored
llvm-svn: 74748
-
- Jul 02, 2009
-
-
Chris Lattner authored
This was considering vector intrinsics to have cost 2, but non-vector intrinsics to have cost 1, which is backward. llvm-svn: 74698
-
Dan Gohman authored
a key is present in a std::map or DenseMap to use find instead. llvm-svn: 74676
-
Dan Gohman authored
PassManager was scheduling LCSSA before LoopSimplify, which does not preserve LCSSA. llvm-svn: 74661
-
- Jul 01, 2009
-
-
Dan Gohman authored
llvm-svn: 74646
-
Owen Anderson authored
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools. Patches for Clang and LLVM-GCC to follow. llvm-svn: 74614
-
Chris Lattner authored
to not have to create a temporary vector (in the API at least). Patch by Jay Foad! llvm-svn: 74584
-
- Jun 30, 2009
-
-
Dan Gohman authored
llvm-svn: 74491
-
- Jun 28, 2009
-
-
Dan Gohman authored
doesn't have an IV-based operand. This fixes PR4471. llvm-svn: 74399
-
Dan Gohman authored
LoopInfo will handle removing it from the Loop, as well as updating its own tables. llvm-svn: 74398
-
- Jun 27, 2009
-
-
Dan Gohman authored
when one of them can be converted to a trivial icmp and conditional branch. This addresses what is essentially a phase ordering problem. SimplifyCFG knows how to do this transformation, but it doesn't do so if the primary block has any instructions in it other than an icmp and a branch. In the given testcase, the block contains other instructions, however they are loop-invariant and can be hoisted. SimplifyCFG doesn't have LoopInfo though, so it can't hoist them. And, it's important that the blocks be merged before LoopRotation, as it doesn't support multiple-exit loops. llvm-svn: 74396
-
Dan Gohman authored
llvm-svn: 74395
-