- Aug 04, 2011
-
-
Evan Cheng authored
llvm-svn: 136900
-
Evan Cheng authored
llvm-svn: 136899
-
Owen Anderson authored
LDCL_POST and STCL_POST need one's-complement offsets, rather than two's complement offsets. Add an appropriate immediate type for them. llvm-svn: 136896
-
Rafael Espindola authored
llvm-svn: 136884
-
Duncan Sands authored
logic moved over to its own enum. Noticed by Andrey Karpov with the PVS-studio tool. llvm-svn: 136881
-
Rafael Espindola authored
llvm-svn: 136880
-
Duncan Sands authored
the PVS-studio tool. llvm-svn: 136878
-
Rafael Espindola authored
llvm-svn: 136877
-
Rafael Espindola authored
llvm-svn: 136875
-
Rafael Espindola authored
llvm-svn: 136874
-
Rafael Espindola authored
llvm-svn: 136873
-
Rafael Espindola authored
llvm-svn: 136872
-
Rafael Espindola authored
llvm-svn: 136871
-
Rafael Espindola authored
llvm-svn: 136870
-
Rafael Espindola authored
llvm-svn: 136869
-
Rafael Espindola authored
llvm-svn: 136868
-
Rafael Espindola authored
llvm-svn: 136867
-
Jay Foad authored
llvm-svn: 136866
-
Duncan Sands authored
reported at http://habrahabr.ru/blogs/compilers/125626/. llvm-svn: 136865
-
Andrew Trick authored
llvm-svn: 136857
-
http://llvm.org/bugs/show_bug.cgi?id=10568Jason W Kim authored
Move the reloc size assert into AsmBackend - where it is more apropos. llvm-svn: 136855
-
Bill Wendling authored
Fixes PR10527. llvm-svn: 136853
-
Jim Grosbach authored
Memory operand parsing is a bit haphazzard at the moment, in no small part due to the even more haphazzard representations of memory operands in the .td files. Start cleaning that all up, at least a bit. The addressing modes in the .td files will be being simplified to not be so monolithic, especially with regards to immediate vs. register offsets and post-indexed addressing. addrmode3 is on its way with this patch, for example. This patch is foundational to enable going back to smaller incremental patches for the individual memory referencing instructions themselves. It does just enough to get the basics in place and handle the "make check" regression tests we already have. Follow-up work will be fleshing out the details and adding more robust test cases for the individual instructions, starting with ARM mode and moving from there into Thumb and Thumb2. llvm-svn: 136845
-
Andrew Trick authored
LoopPassManager. The incremental update should be extremely cheap in most cases and can be used in places where it's not feasible to regenerate the entire loop forest. - "Unloop" is a node in the loop tree whose last backedge has been removed. - Perform reverse dataflow on the block inside Unloop to propagate the nearest loop from the block's successors. - For reducible CFG, each block in unloop is visited exactly once. This is because unloop no longer has a backedge and blocks within subloops don't change parents. - Immediate subloops are summarized by the nearest loop reachable from their exits or exits within nested subloops. - At completion the unloop blocks each have a new parent loop, and each immediate subloop has a new parent. llvm-svn: 136844
-
Andrew Trick authored
llvm-svn: 136843
-
Jakob Stoklund Olesen authored
It is possible to have multiple DBG_VALUEs for the same variable: 32L TEST32rr %vreg0<kill>, %vreg0, %EFLAGS<imp-def>; GR32:%vreg0 DBG_VALUE 2, 0, !"i" DBG_VALUE %noreg, %0, !"i" When that happens, keep the last one instead of the first. llvm-svn: 136842
-
Andrew Trick authored
llvm-svn: 136840
-
Andrew Trick authored
llvm-svn: 136838
-
Owen Anderson authored
llvm-svn: 136837
-
Jakob Stoklund Olesen authored
This helps generate better code in functions with high register pressure. The previous version of compact region splitting caused regressions because the regions were a bit too large. A stronger negative bias applied in r136832 fixed this problem. llvm-svn: 136836
-
Devang Patel authored
Do not drop undef debug values. These are used as range termination marker by live debug variable pass. llvm-svn: 136834
-
Benjamin Kramer authored
llvm-svn: 136833
-
Jakob Stoklund Olesen authored
Apply twice the negative bias on transparent blocks when computing the compact regions. This excludes loop backedges from the region when only one of the loop blocks uses the register. Previously, we would include the backedge in the region if the loop preheader and the loop latch both used the register, but the loop header didn't. When both the header and latch blocks use the register, we still keep it live on the backedge. llvm-svn: 136832
-
Chandler Carruth authored
lib/CodeGen/RegAllocGreedy.cpp:1176:18: warning: unused variable 'B' [-Wunused-variable] if (unsigned B = Cand.getBundles(BundleCand, BestCand)) { ^ lib/CodeGen/RegAllocGreedy.cpp:1188:18: warning: unused variable 'B' [-Wunused-variable] if (unsigned B = Cand.getBundles(BundleCand, 0)) { ^ llvm-svn: 136831
-
Jakub Staszak authored
llvm-svn: 136828
-
Jakub Staszak authored
llvm-svn: 136826
-
Bill Wendling authored
This is some of my original LLVM code. *wipes tear* llvm-svn: 136821
-
- Aug 03, 2011
-
-
Owen Anderson authored
llvm-svn: 136818
-
Jakub Staszak authored
llvm-svn: 136816
-
Evan Cheng authored
llvm-svn: 136814
-