- Sep 04, 2009
-
-
Devang Patel authored
MDNode's operand list does not include all elements. llvm-svn: 81045
-
Andreas Neustifter authored
llvm-svn: 81044
-
Lang Hames authored
a new class, MachineInstrIndex, which hides arithmetic details from most clients. This is a step towards allowing the register allocator to update/insert code during allocation. llvm-svn: 81040
-
Andreas Neustifter authored
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086219.html) llvm-svn: 81007
-
Andreas Neustifter authored
into llvm/ADT. llvm-svn: 81001
-
Dan Gohman authored
Constant uniquing tables. This allows distinct ConstantExpr objects with the same operation and different flags. Even though a ConstantExpr "a + b" is either always overflowing or never overflowing (due to being a ConstantExpr), it's still necessary to be able to represent it both with and without overflow flags at the same time within the IR, because the safety of the flag may depend on the context of the use. If the constant really does overflow, it wouldn't ever be safe to use with the flag set, however the use may be in code that is never actually executed. This also makes it possible to merge all the flags tests into a single test. llvm-svn: 80998
-
Duncan Sands authored
llvm-svn: 80997
-
Evan Cheng authored
llvm-svn: 80994
-
Evan Cheng authored
llvm-svn: 80993
-
Jim Grosbach authored
llvm-svn: 80978
-
Eric Christopher authored
llvm-svn: 80976
-
Evan Cheng authored
llvm-svn: 80971
-
Daniel Dunbar authored
llvm-svn: 80970
-
Dan Gohman authored
introduced regressions in the Ocaml bindings tests. llvm-svn: 80969
-
Bill Wendling authored
D test/Analysis/Profiling --- Reverse-merging r80907 into '.': U lib/Analysis/ProfileInfoLoaderPass.cpp Attempt to remove failure in the self-hosting build bot. llvm-svn: 80966
-
Dan Gohman authored
FastISel to recognize this pattern and emit a floating-point negation using xor. llvm-svn: 80963
-
David Goodwin authored
llvm-svn: 80962
-
Bill Wendling authored
(i.e., there are no local variables and stuff), we still need to output FDE information for the pushed registers. llvm-svn: 80960
-
Dan Gohman authored
and exact flags. Because ConstantExprs are uniqued, creating an expression with this flag causes all expressions with the same operands to have the same flag, which may not be safe. Add, sub, mul, and sdiv ConstantExprs are usually folded anyway, so the main interesting flag here is inbounds, and the constant folder already knows how to set the inbounds flag automatically in most cases, so there isn't an urgent need for the API support. This can be reconsidered in the future, but for now just removing these API bits eliminates a source of potential trouble with little downside. llvm-svn: 80959
-
David Goodwin authored
Create our own block initializer for kill fixups as the scheduling one wasn't doing the right thing. llvm-svn: 80958
-
David Goodwin authored
llvm-svn: 80956
-
- Sep 03, 2009
-
-
Bob Wilson authored
for the complicated case where one register is tied to multiple destinations. This avoids the extra scan of instruction operands that was introduced by my recent change. I also pulled some code out into a separate TryInstructionTransform method, added more comments, and renamed some variables. Besides all those changes, this takes care of a FIXME in the code regarding an assumption about there being a single tied use of a register when converting to a 3-address form. I'm not aware of cases where that assumption is violated, but the code now only attempts to transform an instruction, either by commuting its operands or by converting to a 3-address form, for the simple case where there is a single pair of tied operands. llvm-svn: 80945
-
Dan Gohman authored
llvm-svn: 80942
-
Devang Patel authored
llvm-svn: 80941
-
Dan Gohman authored
swapping the operands if necessary. llvm-svn: 80940
-
Mon P Wang authored
- when transforming a vector shift of a non-immediate scalar shift amount, zero extend the i32 shift amount to i64 since the vector shift reads 64 bits - when transforming i16 vectors to use a vector shift, zero extend i16 shift amount - improve the code quality in some cases when transforming vectors to use a vector shift llvm-svn: 80935
-
Dan Gohman authored
disabling the use of 16-bit operations on x86. This doesn't yet work for inline asms with 16-bit constraints, vectors with 16-bit elements, trampoline code, and perhaps other obscurities, but it's enough to try some experiments. llvm-svn: 80930
-
Kevin Enderby authored
from MCAsmLexer.h in preparation of supporting other targets. Changed the X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking for AsmToken::Percent when parsing in places that used AsmToken::Register. Then changed X86ATTAsmParser::ParseRegister to parse out registers as an AsmToken::Percent followed by an AsmToken::Identifier. llvm-svn: 80929
-
Devang Patel authored
llvm-svn: 80928
-
Dan Gohman authored
that these passes are properly preserved. Fix several transformation passes that claimed to preserve LoopSimplify form but weren't. llvm-svn: 80926
-
Dan Gohman authored
LoopSimplify form, which is currently only available on Loops (and not MachineLoops). Also, move the code out of the header file. llvm-svn: 80923
-
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
-
Dan Gohman authored
llvm-svn: 80919
-
Dan Gohman authored
llvm-svn: 80918
-
Benjamin Kramer authored
llvm-svn: 80917
-
Duncan Sands authored
memcpy calls. llvm-svn: 80915
-
Andreas Neustifter authored
llvm-svn: 80912
-
Andreas Neustifter authored
Removed inverted flag form MaximumSpanningTree, also do not handle so much information to MaximumSpanningTree. llvm-svn: 80911
-
Andreas Neustifter authored
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086139.html) llvm-svn: 80909
-
Daniel Dunbar authored
llvm-svn: 80907
-