- May 11, 2010
-
-
Jakob Stoklund Olesen authored
closure after allocating all blocks. Add a few more test cases for -regalloc=fast. llvm-svn: 103500
-
Dan Gohman authored
It works in simple cases, but it isn't a general solution. llvm-svn: 103499
-
Duncan Sands authored
to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is the opposite, for future use by dragonegg. llvm-svn: 103495
-
Dan Gohman authored
llvm-svn: 103493
-
Dan Gohman authored
and the others use the regular addPassesToEmitFile hook now, and llc no longer needs a bunch of redundant code to handle the whole-file case. llvm-svn: 103492
-
Dan Gohman authored
llvm-svn: 103489
-
Jakob Stoklund Olesen authored
Sorry for the big change. The path leading up to this patch had some TableGen changes that I didn't want to commit before I knew they were useful. They weren't, and this version does not need them. The fast register allocator now does no liveness calculations. Instead it relies on kill flags provided by isel. (Currently those kill flags are also ignored due to isel bugs). The allocation algorithm is supposed to work with any subset of valid kill flags. More kill flags simply means fewer spills inserted. Registers are allocated from a working set that contains no aliases. That means most allocations can be done directly without expensive alias checks. When the working set runs out of registers we do the full alias check to find new free registers. llvm-svn: 103488
-
Dan Gohman authored
llvm-svn: 103483
-
Dan Gohman authored
Move EmitTargetCodeForMemcpy, EmitTargetCodeForMemset, and EmitTargetCodeForMemmove out of TargetLowering and into SelectionDAGInfo to exercise this. llvm-svn: 103481
-
Daniel Dunbar authored
- This eliminates getAtomForAddress() (which was a linear search) and simplifies getAtom(). - This also fixes some correctness problems where local labels at the same address as non-local labels could be assigned to the wrong atom. llvm-svn: 103480
-
Daniel Dunbar authored
llvm-svn: 103479
-
Tanya Lattner authored
llvm-svn: 103478
-
Tanya Lattner authored
llvm-svn: 103477
-
Dan Gohman authored
was unused. TargetMachine::getSubtarget() is used instead. llvm-svn: 103474
-
Kalle Raiskila authored
llvm-svn: 103466
-
Evan Cheng authored
llvm-svn: 103459
-
Douglas Gregor authored
llvm-svn: 103457
-
Bill Wendling authored
llvm-svn: 103455
-
Sean Callanan authored
instructions as well. Added support for checking this to the llvm-mc tester as well. llvm-svn: 103454
-
Evan Cheng authored
llvm-svn: 103453
-
Bill Wendling authored
string of features for that target. However LTO was using that string to pass into the "create target machine" stuff. That stuff needed the feature string to be in a particular form. In particular, it needed the CPU specified first and then the attributes. If there isn't a CPU specified, it required it to be blank -- e.g., ",+altivec". Yuck. Modify the getDefaultSubtargetFeatures method to be a non-static member function. For all attributes for a specific subtarget, it will add them in like normal. It will also take a CPU string so that it can satisfy this horrible syntax. llvm-svn: 103451
-
Evan Cheng authored
llvm-svn: 103450
-
Evan Cheng authored
llvm-svn: 103449
-
Daniel Dunbar authored
scattered relocation entry with a .weak_definition. llvm-svn: 103443
-
Daniel Dunbar authored
llvm-svn: 103442
-
Evan Cheng authored
llvm-svn: 103441
-
Devang Patel authored
This means now 'llvm-ld a.bc b.bc' will preserve debug info appropriately. llvm-svn: 103439
-
Daniel Dunbar authored
MC/Mach-O: Explicitly track atoms, as represented by their defining symbol, for each fragment (not yet used). llvm-svn: 103438
-
- May 10, 2010
-
-
Evan Cheng authored
llvm-svn: 103437
-
Evan Cheng authored
llvm-svn: 103436
-
Evan Cheng authored
llvm-svn: 103435
-
Chris Lattner authored
llvm-svn: 103434
-
Chris Lattner authored
llvm-svn: 103432
-
Chris Lattner authored
llvm-svn: 103431
-
Chris Lattner authored
llvm-svn: 103430
-
Chris Lattner authored
function calls, not just recognized intrinsics. llvm-svn: 103428
-
Chris Lattner authored
llvm-svn: 103427
-
David Greene authored
Fix PR6875: This includes a patch by Roman Divacky to fix the initial crash. Move the actual addition of passes from *PassManager::add to *PassManager::addImpl. That way, when adding printer passes we won't recurse infinitely. Finally, check to make sure that we are actually adding a FunctionPass to a FunctionPassManager before doing a print before or after it. Immutable passes are strange in this way because they aren't FunctionPasses yet they can be and are added to the FunctionPassManager. llvm-svn: 103425
-
Dan Gohman authored
llvm-svn: 103424
-
Daniel Dunbar authored
Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently: - Disables 'Built on ...' in 'foo --version'. - Disables timestamps from being embedded into .dir files. llvm-svn: 103423
-