- Sep 12, 2008
-
-
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 10, 2008
-
-
Dan Gohman authored
llvm-svn: 56069
-
Dan Gohman authored
llvm-svn: 56068
-
Dan Gohman authored
to static allocas. As part of this change, refactor the address mode code for laods and stores. llvm-svn: 56066
-
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
-
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
-
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
-
-
Owen Anderson authored
llvm-svn: 56009
-
Bill Wendling authored
values. - Refactored some of the code. llvm-svn: 56008
-
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
-
Bill Wendling authored
and 18. llvm-svn: 55968
-
- Sep 08, 2008
-
-
Anton Korobeynikov authored
llvm-svn: 55958
-
Dan Gohman authored
llvm-svn: 55942
-
Dale Johannesen authored
use float constants. An oversight by the numerics people who supplied this. llvm-svn: 55930
-
Bill Wendling authored
Reverting r55898 to r55909. One of these patches was causing an ICE during the full bootstrap on Darwin: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DSHARED -m64 -DL_negdi2 -c ../../llvm-gcc.src/gcc/libgcc2.c -o libgcc/x86_64/_negdi2_s.o Assertion failed: (TargetRegisterInfo::isVirtualRegister(regA) && TargetRegisterInfo::isVirtualRegister(regB) && "cannot update physical register live information"), function runOnMachineFunction, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/TwoAddressInstructionPass.cpp, line 311. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.4.0/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/. -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DSHARED -m64 -DL_lshrdi3 -c ../../llvm-gcc.src/gcc/libgcc2.c -o libgcc/x86_64/_lshrdi3_s.o ../../llvm-gcc.src/gcc/unwind-dw2.c:1527: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. {standard input}:unknown:Undefined local symbol LBB21_11 {standard input}:unknown:Undefined local symbol LBB21_12 {standard input}:unknown:Undefined local symbol LBB21_13 {standard input}:unknown:Undefined local symbol LBB21_8 llvm-svn: 55928
-
Dan Gohman authored
revisited, consistent with the code in visitSREM. llvm-svn: 55923
-
Daniel Dunbar authored
llvm-svn: 55922
-
Dan Gohman authored
llvm-svn: 55917
-
Evan Cheng authored
llvm-svn: 55911
-
Anton Korobeynikov authored
llvm-svn: 55904
-
Evan Cheng authored
llvm-svn: 55892
-
Bill Wendling authored
before. This is taken care of in the selection DAG pass. In my opinion, this should be in one place or the other. I.e., it should probably be removed from the DAG combiner (along with the other arithmetic transformations on constants that are essentially no-ops). llvm-svn: 55889
-
- Sep 07, 2008
-
-
Bill Wendling authored
// fold (sub c1, c2) -> c1-c2 from a no-op into an actual transformation. llvm-svn: 55886
-
Evan Cheng authored
llvm-svn: 55880
-
Evan Cheng authored
- Add a AnalyzeCallResult specialized for calls which produce a single value. This is used by fastisel. llvm-svn: 55879
-