- Dec 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 120842
-
Jakob Stoklund Olesen authored
llvm-svn: 120841
-
Jakob Stoklund Olesen authored
The StrongPHIElimination pass did not work, and nobody has worked on it for two years. A rewrite is underway, so I am leaving this shell pass instead of deleting it completely. llvm-svn: 120830
-
- Dec 02, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 120720
-
Jakob Stoklund Olesen authored
Scan the MachineFunction for DBG_VALUE instructions, and replace them with a data structure similar to LiveIntervals. The live range of a DBG_VALUE is determined by propagating it down the dominator tree until a new DBG_VALUE is found. When a DBG_VALUE lives in a register, its live range is confined to the live range of the register's value. LiveDebugVariables runs before coalescing, so DBG_VALUEs are not artificially extended when registers are joined. The missing half will recreate DBG_VALUE instructions from the intervals when register allocation is complete. The pass is disabled by default. It can be enabled with the temporary command line option -live-debug-variables. llvm-svn: 120636
-
- Dec 01, 2010
-
-
Jay Foad authored
setAllBits(), setBit(unsigned), etc. llvm-svn: 120564
-
Andrew Trick authored
llvm-svn: 120504
-
Evan Cheng authored
legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the return SDNode is target specific, this requires a target hook to check for eligibility. Only x86 and ARM support this form of sibcall optimization right now. rdar://8707777 llvm-svn: 120501
-
Andrew Trick authored
in favor of the widespread llvm style. Capitalize variables and add newlines for visual parsing. Rename variables for readability. And other cleanup. llvm-svn: 120490
-
- Nov 30, 2010
-
-
Chris Lattner authored
and use this to disable a specific optimization. Patch by Micah Villmow! llvm-svn: 120435
-
Jay Foad authored
llvm-svn: 120413
-
Jakob Stoklund Olesen authored
This analysis is going to run immediately after LiveIntervals. It will stay alive during register allocation and keep track of user variables mentioned in DBG_VALUE instructions. When the register allocator is moving values between registers and the stack, it is very hard to keep track of DBG_VALUE instructions. We usually get it wrong. This analysis maintains a data structure that makes it easy to update DBG_VALUE instructions. llvm-svn: 120385
-
- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120298
-
- Nov 28, 2010
-
-
Bob Wilson authored
llvm-svn: 120235
-
Anton Korobeynikov authored
llvm-svn: 120229
-
Anton Korobeynikov authored
llvm-svn: 120228
-
- Nov 25, 2010
-
-
Benjamin Kramer authored
llvm-svn: 120146
-
- Nov 23, 2010
-
-
Wesley Peck authored
llvm-svn: 119990
-
- Nov 22, 2010
-
-
Benjamin Kramer authored
This currently only catches the most basic case, a two-case switch, but can be extended later. llvm-svn: 119964
-
- Nov 20, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 119904
-
Benjamin Kramer authored
llvm-svn: 119903
-
Duncan Sands authored
so don't claim they are. They are allocated using DAG.getNode, so attempts to access MemSDNode fields results in reading off the end of the allocated memory. This fixes crashes with "llc -debug" due to debug code trying to print MemSDNode fields for these barrier nodes (since the crashes are not deterministic, use valgrind to see this). Add some nasty checking to try to catch this kind of thing in the future. llvm-svn: 119901
-
Andrew Trick authored
Removing the useless test that I added recently. It was meant as an example, but not complicated enough to merit another test. llvm-svn: 119898
-
Andrew Trick authored
llvm-svn: 119896
-
Andrew Trick authored
llvm-svn: 119895
-
Bill Wendling authored
llvm-svn: 119875
-
- Nov 19, 2010
-
-
Mon P Wang authored
DAGCombine from making an illegal transformation of bitcast of a scalar to a vector into a scalar_to_vector. llvm-svn: 119819
-
Jakob Stoklund Olesen authored
Patch by Krister Wombell! llvm-svn: 119791
-
Rafael Espindola authored
MCStreamer instead of just MCObjectStreamer. Address changes cannot be as efficient as we have to use DW_LNE_set_addres, but at least most of the logic is shared. This will be used so that, with CodeGen still using EmitDwarfLocDirective, llvm-gcc is able to produce debug_line sections without needing an assembler that supports .loc. llvm-svn: 119777
-
Anton Korobeynikov authored
llvm-svn: 119754
-
- Nov 18, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 119740
-
Duncan Sands authored
not anyext(select). Spotted by Frits van Bommel. llvm-svn: 119739
-
Duncan Sands authored
if the extension types were not the same. The result was that if you fed a select with sext and zext loads, as in the testcase, then it would get turned into a zext (or sext) of the select, which is wrong in the cases when it should have been an sext (resp. zext). Reported and diagnosed by Sebastien Deldon. llvm-svn: 119728
-
Dan Gohman authored
llvm-svn: 119717
-
Dan Gohman authored
llvm-svn: 119716
-
Dan Gohman authored
llvm-svn: 119712
-
Dan Gohman authored
simple form of INITIALIZE_PASS. llvm-svn: 119707
-
Rafael Espindola authored
and testing is easier. A good example is the unknown-location.ll test that now can just look for ".loc 1 0 0". We also don't use a DW_LNE_set_address for every address change anymore. llvm-svn: 119613
-
Dale Johannesen authored
memset; we may need it to decide between MOVAPS and MOVUPS later. Adjust a test that was looking for wrong code. PR 3866 / 8675131. llvm-svn: 119605
-
John Thompson authored
llvm-svn: 119590
-