- Sep 13, 2008
-
-
Dan Gohman authored
isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. llvm-svn: 56189
-
Dan Gohman authored
Currently it just holds the calling convention and flags for isVarArgs and isTailCall. And it has several utility methods, which eliminate magic 5+2*i and similar index computations in several places. CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle nodes that are not CSE'd gracefully. llvm-svn: 56183
-
- Sep 12, 2008
-
-
Evan Cheng authored
vr2 = OR vr0, vr1 => vr2 = OR vr1, vr1 // after coalescing vr0 with vr1 Update the value# of the destination register with the copy instruction if that happens. llvm-svn: 56165
-
Dan Gohman authored
ConstantFP* instead of APInt and APFloat directly. This reduces the amount of time to create ConstantSDNode and ConstantFPSDNode nodes when ConstantInt* and ConstantFP* respectively are already available, as is the case in SelectionDAGBuild.cpp. Also, it reduces the amount of time to legalize constants into constant pools, and the amount of time to add ConstantFP operands to MachineInstrs, due to eliminating ConstantInt::get and ConstantFP::get calls. It increases the amount of work needed to create new constants in cases where the client doesn't already have a ConstantInt* or ConstantFP*, such as legalize expanding 64-bit integer constants to 32-bit constants. And it adds a layer of indirection for the accessor methods. But these appear to be outweight by the benefits in most cases. It will also make it easier to make ConstantSDNode and ConstantFPNode more consistent with ConstantInt and ConstantFP. llvm-svn: 56162
-
Dale Johannesen authored
representation; coalescer and RA need to know about it. No functional change. llvm-svn: 56161
-
Dan Gohman authored
with ConstantInt. This led to fixing a bug in TargetLowering.cpp using getValue instead of getAPIntValue. llvm-svn: 56159
-
Dale Johannesen authored
safe in the presence of NaNs. llvm-svn: 56136
-
- Sep 11, 2008
-
-
Evan Cheng authored
Fix PR2748. Avoid coalescing physical register with virtual register which would create illegal extract_subreg. e.g. vr1024 = extract_subreg vr1025, 1 ... vr1024 = mov8rr AH If vr1024 is coalesced with AH, the extract_subreg is now illegal since AH does not have a super-reg whose sub-register 1 is AH. llvm-svn: 56118
-
Evan Cheng authored
llvm-svn: 56112
-
Evan Cheng authored
llvm-svn: 56097
-
Evan Cheng authored
llvm-svn: 56085
-
- Sep 10, 2008
-
-
Dan Gohman authored
llvm-svn: 56069
-
Dan Gohman authored
llvm-svn: 56068
-
Owen Anderson authored
Fix a bug in the coalescer where it didn't check if a live interval existed before trying to manipulate it. This was exposed by fast isel's handling of shifts on X86-64. With this, FreeBench/pcompress2 passes on X86-64 in fast isel. llvm-svn: 56067
-
Dan Gohman authored
to static allocas. As part of this change, refactor the address mode code for laods and stores. llvm-svn: 56066
-
Evan Cheng authored
llvm-svn: 56065
-
Dan Gohman authored
I shuffled the fast-isel command-line options around. This fixes a bunch of fast-isel failures. llvm-svn: 56057
-
Bill Wendling authored
llvm-svn: 56049
-
Daniel Dunbar authored
llvm-svn: 56048
-
Evan Cheng authored
llvm-svn: 56037
-
Bill Wendling authored
llvm-svn: 56036
-
Bill Wendling authored
form: powf(10.0f, x); If this is the case, and also we want limited precision floating-point calculations, then lower to do the limited-precision stuff. llvm-svn: 56035
-
Evan Cheng authored
llvm-svn: 56032
-
Dan Gohman authored
to being off by default. Also, add assertion checks to check that the various fast-isel-related command-line options are only used when -fast-isel itself is enabled. llvm-svn: 56029
-
Evan Cheng authored
llvm-svn: 56028
-
Bill Wendling authored
function. llvm-svn: 56025
-
Dale Johannesen authored
UsedDirective for some symbols in llvm.used into Darwin-specific code. I've decided LessPrivateGlobal is potentially a useful abstraction and left it in the target-independent area, with improved comment. llvm-svn: 56024
-
Bill Wendling authored
floating-point numbers. llvm-svn: 56023
-
Dan Gohman authored
-fast-isel-no-abort to get a dump of all unhandled instructions, without an abort. llvm-svn: 56021
-
- Sep 09, 2008
-
-
Evan Cheng authored
llvm-svn: 56019
-
Owen Anderson authored
llvm-svn: 56009
-
Bill Wendling authored
values. - Refactored some of the code. llvm-svn: 56008
-
Evan Cheng authored
Fix PR2757. Ignore liveinterval register allocation preference if the preference register is not in the right register class. This can happen due to sub-register coalescing. llvm-svn: 56006
-
Anton Korobeynikov authored
llvm-svn: 56005
-
Bill Wendling authored
precisions. llvm-svn: 56000
-
Owen Anderson authored
all of MultiSource/Applications passes on Darwin/X86 under FastISel. llvm-svn: 55982
-
Dan Gohman authored
the case of loads, stores, and conditional branches. It can handle those now, so any that aren't handled should trigger the abort. llvm-svn: 55977
-
Evan Cheng authored
Fix a constant lowering bug. Now we can do load and store instructions with funky getelementptr embedded in the address operand. llvm-svn: 55975
-
Dale Johannesen authored
objects in llvm.used (thanks Anton). Makes visible the magic 'l' prefix for symbols on Darwin which are to be passed through the assembler, then removed at linktime (previously all references to this had been hidden in the ObjC FE code, oh well). llvm-svn: 55973
-
Bill Wendling authored
and 18. llvm-svn: 55968
-