Commits

Show all
Author Commit Message Labels Comments Date
Evan Cheng
Add a couple of test cases.
Tags
2 tags
David Greene
When rewriting defs and uses after spilling, don't set the weight of a live interval to infinity if the instruction being rewritten is an original remat def instruction. We were only checking against the clone of the remat def which doesn't actually appear in the IR at all.
David Greene
Don't attempt to update SpillSlotToUsesMap for stack slots that aren't generated by the spiller.
Gabor Greif
transform more loops to iterator form, detabify
Evan Cheng
Add missing patterns.
Gabor Greif
Suppress warnings about missing placement delete. This should now be std-conformant even if compiled with exceptions on.
Gabor Greif
Rewrite operand loops to use iterators. This shrinks .o file (at gcc4.0.1 -O3 x86) substantially (>500 bytes). Reason still unknown.
Chris Lattner
fix an off-by-one error in my previous patch, don't treat the callee as a incoming arg.
Chris Lattner
Add support for multiple-return values in inline asm. This should get inline asm working as well as it did previously with the CBE with the new MRV support for inline asm.
Chris Lattner
Fix PR2267, by allowing indirect outputs to be intermixed with normal outputs. Testcase here: test/CodeGen/X86/asm-indirect-mem.ll
Chris Lattner
testcase for PR2267
Chris Lattner
Free and vaarg are not really volatile.
Chris Lattner
rewrite the validity checking for memory promotion to be simpler, more aggressive, and more correct. Verify that we only attempt to promote loads and stores.
Chris Lattner
minor edits
Chris Lattner
Use 'continue' to reduce nesting in this loop. No functionality change.
Tags
2 tags
Dan Gohman
Add a Type::isSingleValueType method. This will be used by code that currently uses Type::isFirstClassType and depends on it returning false for struct or array types. This commit doesn't change the behavior of Type::isFirstClassType.
Evan Cheng
Fix PR2343. An *interesting* coalescer bug. BB1: vr1025 = copy vr1024 .. BB2: vr1024 = op = op vr1025 <loop eventually branch back to BB1> Even though vr1025 is copied from vr1024, it's not safe to coalesced them since live range of vr1025 intersects the def of vr1024. This happens when vr1025 is assigned the value of the previous iteration of vr1024 in the loop.
Bill Wendling
Follow-up to the reverting of r51218. This puts the checks out-of-line. Because they aren't in the header file, systems with a <string> header file that isn't 64-bit clean shouldn't warn if #including Path.h and specifying -Wshorten-64-to-32.
Gabor Greif
update a comment
Gabor Greif
adapt to new API
Evan Cheng
Rename -no-lazy to -disable-lazy-compilation.
Nate Begeman
Fix a couple issues with the JIT and multiple modules: 1. The "JITState" object creates a PassManager with the ModuleProvider that the jit is created with. If the ModuleProvider is removed and deleted, the PassManager is invalid. 2. The Global maps in the JIT were not invalidated with a ModuleProvider was removed. This could lead to a case where the Module would be freed, and a new Module with Globals at the same addresses could return …
Gabor Greif
resurrect lost tests by renaming them to not end with .tr
Gabor Greif
suppress gcc3.4.6's <no value returned> warnings
Dan Gohman
When LSR is replacing an instruction, call ScalarEvolution::deleteValueFromRecords on it before doing the replaceAllUsesWith, because ScalarEvolution looks at the instruction's users to find SCEV references to the instruction's SCEV object in its internal maps. Move all of LSR's loop-related state clearing after processing the loop and before cleaning up dead PHI nodes. This eliminates all of LSR's SCEV references just before the calls to ScalarEvolution::deleteValueFromRecords so that when ScalarEvolution drops its own SCEV references, the reference counts will reach zero and the SCEVs will be deleted immediately. These changes fix some compiler aborts…
Bill Wendling
Reverting r51218 because of breakage on PPC32.
Gabor Greif
Eliminate questionable syntax for stdin redirection. This probably also speeds things up a bit.
Chris Lattner
Fix PR2346 by marking vaarg as volatile so that licm doesn't try to hoist them.
Dan Gohman
Oops, commit the version of this test that actually works.
Dan Gohman
Port SelectionDAG's ComputeNumSignBits-using code to instcombine, now that instcombine also has ComputeNumSignBits.
  1. Prev
  2. Next