- Sep 09, 2009
-
-
Dan Gohman authored
llvm-svn: 81257
-
- Sep 08, 2009
-
-
Owen Anderson authored
llvm-svn: 81250
-
Chris Lattner authored
extractelement(load). llvm-svn: 81239
-
Dan Gohman authored
llvm-svn: 81227
-
Dan Gohman authored
of using llvm-as, now that opt supports this. llvm-svn: 81226
-
Dan Gohman authored
that get created during loop unswitching, and fix SplitBlockPredecessors' LCSSA updating code to create new PHIs instead of trying to just move existing ones. Also, optimize Loop::verifyLoop, since it gets called a lot. Use searches on a sorted list of blocks instead of calling the "contains" function, as is done in other places in the Loop class, since "contains" does a linear search. Also, don't call verifyLoop from LoopSimplify or LCSSA, as the PassManager is already calling verifyLoop as part of LoopInfo's verifyAnalysis. llvm-svn: 81221
-
Chris Lattner authored
extractelement operations into a bitcast of the pointer, then a gep, then a scalar load. Disable this when the vector only has one element, because it leads to infinite loops in instcombine (PR4908). This transformation seems like a really bad idea to me, as it will likely disable CSE of vector load/stores etc and can be better done in the code generator when profitable. This goes all the way back to the first days of packed types, r25299 specifically. I'll let those people who care about the performance of vector code decide what to do with this. llvm-svn: 81185
-
Chris Lattner authored
context for the newly created operations. Patch by Jakub Staszak! llvm-svn: 81175
-
Chris Lattner authored
This fixes PR4905 llvm-svn: 81174
-
Dan Gohman authored
llvm-svn: 81168
-
Dan Gohman authored
to preserve the meaning of these tests. llvm-svn: 81166
-
Chris Lattner authored
llvm-svn: 81159
-
Chris Lattner authored
llvm-svn: 81158
-
- Sep 07, 2009
-
-
Daniel Dunbar authored
pipeline. llvm-svn: 81153
-
- Sep 06, 2009
-
-
Evan Cheng authored
llvm-svn: 81101
-
- Sep 05, 2009
-
-
Daniel Dunbar authored
llvm-svn: 81088
-
Daniel Dunbar authored
- I'd appreciate it if someone else eyeballs my changes to make sure I captured the intent of the test. llvm-svn: 81083
-
Daniel Dunbar authored
llvm-svn: 81081
-
- Sep 04, 2009
-
-
Devang Patel authored
MDNode's operand list does not include all elements. llvm-svn: 81045
-
- Sep 03, 2009
-
-
Dan Gohman authored
instead of a bool argument, and to do the dominator check itself. This makes it eaiser to use when DominatorTree information is available. llvm-svn: 80920
-
Chris Lattner authored
simplifylibcalls optimization is thus valid for C++ but not C. It's not important enough to worry about for C++ apps, so just remove it. rdar://7191924 llvm-svn: 80887
-
- Sep 02, 2009
-
-
Chris Lattner authored
llvm-svn: 80769
-
Chris Lattner authored
the instruction BBI points to. llvm-svn: 80768
-
Chris Lattner authored
and we get the original pointer type. This doesn't mean that we're at the first pointer being indexed. Correct the predicate. llvm-svn: 80762
-
Chris Lattner authored
return a vector of i1, not i1 itself. llvm-svn: 80761
-
- Sep 01, 2009
-
-
Chris Lattner authored
don't alias. Remove an old and poorly reduced testcase that fails with this transform for reasons unrelated to the original test. llvm-svn: 80693
-
Chris Lattner authored
llvm-svn: 80664
-
Chris Lattner authored
for sanity. This didn't turn up any bugs. Change CallGraphNode to maintain its "callsite" information in the call edges list as a WeakVH instead of as an instruction*. This fixes a broad class of dangling pointer bugs, and makes CallGraph have a number of useful invariants again. This fixes the class of problem indicated by PR4029 and PR3601. llvm-svn: 80663
-
- Aug 31, 2009
-
-
Chris Lattner authored
in the callgraph, see the big comment at the top of the testcase. llvm-svn: 80541
-
Chris Lattner authored
changes: SimplifyDemandedBits can't use the builder yet because it has the wrong insertion point. This fixes a crash building MultiSource/Benchmarks/PAQ8p llvm-svn: 80537
-
Chris Lattner authored
indirect function pointer, inline it, then go to delete the body. The problem is that the callgraph had other references to the function, though the inliner had no way to know it, so we got a dangling pointer and an invalid iterator out of the deal. The fix to this is pretty simple: stop the inliner from deleting the function by knowing that there are references to it. Do this by making CallGraphNodes contain a refcount. This requires moving deletion of available_externally functions to the module-level cleanup sweep where it belongs. llvm-svn: 80533
-
Chris Lattner authored
llvm-svn: 80523
-
Chris Lattner authored
llvm-svn: 80522
-
Chris Lattner authored
llvm-svn: 80521
-
- Aug 30, 2009
-
-
Chris Lattner authored
llvm-svn: 80517
-
Chris Lattner authored
llvm-svn: 80514
-
Chris Lattner authored
llvm-svn: 80513
-
Chris Lattner authored
llvm-svn: 80512
-
Chris Lattner authored
remove it. llvm-svn: 80511
-
Chris Lattner authored
llvm-svn: 80510
-