Chris Lattner
0bd4d7eef1
Disable an xform we've had for a long time, pow(x,0.5) -> sqrt.
...
This is not safe for all inputs.
llvm-svn: 49458
2008-04-10 02:07:51 +00:00
Evan Cheng
c0aac87374
Move memcpy / memset optimization pass after GVN.
...
llvm-svn: 49457
2008-04-10 01:33:05 +00:00
Evan Cheng
def576f9e6
- More aggressively coalescing away copies whose source is defined by an implicit_def.
...
- Added insert_subreg coalescing support.
llvm-svn: 49448
2008-04-09 20:57:25 +00:00
Dan Gohman
b3a511b236
Make isVectorClearMaskLegal's operand list const.
...
llvm-svn: 49446
2008-04-09 20:09:42 +00:00
Dan Gohman
b05ea92f80
Fix some minor errors in comments.
...
llvm-svn: 49445
2008-04-09 20:08:06 +00:00
Dan Gohman
0586403622
Add const qualifiers.
...
llvm-svn: 49443
2008-04-09 18:31:41 +00:00
Dan Gohman
f03c4d87c0
Update comments to use 2.0 syntax type names.
...
llvm-svn: 49442
2008-04-09 18:24:25 +00:00
Dan Gohman
f4cd5a4801
Add XMM1 as a second return value register for f32 and f64 on x86-64. This
...
is needed for the x86-64-ABI handling of structs that contain floating-point
members that are returned by value.
llvm-svn: 49441
2008-04-09 17:54:37 +00:00
Dan Gohman
9f7c4f6e16
Add DX as a second return value register for i16 on x86.
...
llvm-svn: 49440
2008-04-09 17:53:38 +00:00
Chris Lattner
be01a5f699
Generalize getUnaryFloatFunction to handle any FP unary function, automatically
...
figuring out the suffix to use. implement pow(2,x) -> exp2(x).
llvm-svn: 49437
2008-04-09 17:48:11 +00:00
Chris Lattner
5d0cbe7d22
remove capital letter from test name.
...
llvm-svn: 49436
2008-04-09 17:46:36 +00:00
Chris Lattner
0eb93cf8d0
use the new ConstantFP::get method to make this work with
...
long double and simplify the code.
llvm-svn: 49435
2008-04-09 17:17:35 +00:00
Chris Lattner
02cc33d0ad
ConstantFP::get should be static.
...
llvm-svn: 49434
2008-04-09 17:16:28 +00:00
Nate Begeman
41d0309ce8
Fix a bug where an incorrect bit mask would be generated if a target's last asm
...
string began at a power of 2 in the string index. For example, if "ret" started
at position 16, the ret instruction would be assigned code 16, but the mask would be AsmChars[] + Code & 15, not Code & 31.
llvm-svn: 49433
2008-04-09 16:24:11 +00:00
Devang Patel
47b4a18b75
Be conservative if getresult operand is neither call nor invoke.
...
llvm-svn: 49430
2008-04-09 15:58:24 +00:00
Owen Anderson
ca7e0e21f3
Factor a bunch of functionality related to memcpy and memset transforms out of
...
GVN and into its own pass.
llvm-svn: 49419
2008-04-09 08:23:16 +00:00
Owen Anderson
0d844f6205
Remove accidentally duplicated code.
...
llvm-svn: 49418
2008-04-09 07:55:01 +00:00
Evan Cheng
94983505c5
Unbreak teh build.
...
llvm-svn: 49417
2008-04-09 07:06:01 +00:00
Chris Lattner
843ee88189
add a simplified accessor for creating an fp constant of a
...
particular value but variable type.
llvm-svn: 49416
2008-04-09 06:38:30 +00:00
Evan Cheng
f35cc57821
Missed a hasInterval check.
...
llvm-svn: 49415
2008-04-09 01:30:15 +00:00
Chris Lattner
9d4d2f566e
add a version of ConstantFP::get that doesn't take a redundant Type* value,
...
start migrating code over to use it.
llvm-svn: 49413
2008-04-09 00:45:01 +00:00
Chris Lattner
976ea8990e
many cleanups to the pow optimizer. Allow it to handle powf,
...
add support for pow(x, 2.0) -> x*x.
llvm-svn: 49411
2008-04-09 00:07:45 +00:00
Chris Lattner
6e11e1a381
make ConstantFP::isExactlyValue work for long double as well.
...
llvm-svn: 49410
2008-04-09 00:03:58 +00:00
Devang Patel
f08f0a6de6
Add CreateGetResult()
...
llvm-svn: 49398
2008-04-08 20:41:22 +00:00
Duncan Sands
b430cf3b7c
Check that bodies and calls but not declarations
...
are marked nounwind when compiling without
-fexceptions.
llvm-svn: 49393
2008-04-08 19:31:52 +00:00
Dale Johannesen
5ac0a0ed21
Rename -disable-required-unwind-tables to -unwind-tables-optional.
...
llvm-svn: 49391
2008-04-08 18:10:08 +00:00
Dale Johannesen
5dcdb08b0d
Rename -disable-required-unwind-tables to unwind-tables-optional.
...
llvm-svn: 49389
2008-04-08 18:07:49 +00:00
Gabor Greif
80acb912a9
merge r48768 from branches/ggreif/parallelized-test
...
llvm-svn: 49382
2008-04-08 15:22:41 +00:00
Devang Patel
dd9f2ea01f
Add multiple value return instruction constructor.
...
llvm-svn: 49374
2008-04-08 07:30:13 +00:00
Duncan Sands
f86399a00f
Convenience method for setting the nounwind
...
attribute for a function.
llvm-svn: 49373
2008-04-08 07:23:58 +00:00
Chris Lattner
7498965b5a
silence warning when assertions are disabled.
...
llvm-svn: 49371
2008-04-08 05:49:09 +00:00
Devang Patel
1cf9e1e337
Fix insert point handling for multiple return values.
...
llvm-svn: 49367
2008-04-08 02:24:08 +00:00
Dale Johannesen
2d29b1c5bb
Handle the situation in 2008-01-25-EmptyFunction.ll
...
correctly when unwind info is being generated.
llvm-svn: 49366
2008-04-08 00:37:56 +00:00
Dale Johannesen
576a7685f2
Missed one.
...
llvm-svn: 49365
2008-04-08 00:14:59 +00:00
Dale Johannesen
3f992b224e
Add -disable-required-unwind-tables to tests
...
that need it (usually, grepping for some string
found in unwind info)
llvm-svn: 49364
2008-04-08 00:14:17 +00:00
Dale Johannesen
ec0fe04044
Implement new llc flag -disable-required-unwind-tables.
...
Corresponds to -fno-unwind-tables (usually default in gcc).
llvm-svn: 49361
2008-04-08 00:10:24 +00:00
Ted Kremenek
be2279d470
Make getDirnameSep a static method (not part of Path's interface).
...
llvm-svn: 49354
2008-04-07 22:01:32 +00:00
Ted Kremenek
82b7e8d306
Added method Path::getDirname().
...
llvm-svn: 49352
2008-04-07 21:53:57 +00:00
Sam Bishop
41916aad58
Added support for Create() calls that take an argument besides the
...
deserializer.
llvm-svn: 49350
2008-04-07 21:36:46 +00:00
Dan Gohman
d7301ea935
Rename MemOperand to MachineMemOperand. This was suggested by
...
review feedback from Chris quite a while ago. No functionality
change.
llvm-svn: 49348
2008-04-07 19:35:22 +00:00
Tanya Lattner
8b8cf62b57
Remove llvm-upgrade.
...
llvm-svn: 49347
2008-04-07 18:32:47 +00:00
Tanya Lattner
185ece0559
Added note to getting started guide to use llvm-gcc4.2.
...
Removed llvm-upgrade from documentations.
llvm-svn: 49346
2008-04-07 18:32:25 +00:00
Owen Anderson
4ad5a5201c
Add operator= implementations to SparseBitVector, allowing it to be used in GVN. This results
...
in both time and memory savings for GVN. For example, one testcase went from 10.5s to 6s with
this patch.
llvm-svn: 49345
2008-04-07 17:38:23 +00:00
Duncan Sands
79af9d68ec
Testcase for pr2169.
...
llvm-svn: 49344
2008-04-07 17:03:16 +00:00
Evan Cheng
6c58f2397d
Fix test.
...
llvm-svn: 49343
2008-04-07 17:02:18 +00:00
Daniel Berlin
b8533b394a
Fix PR 2169.
...
llvm-svn: 49339
2008-04-07 14:20:50 +00:00
Duncan Sands
64f15131d8
Use Intrinsic::getDeclaration in more places.
...
llvm-svn: 49338
2008-04-07 13:45:04 +00:00
Duncan Sands
98ed2df5f3
The "stacksave is not nounwind problem" no longer
...
needs to be fixed here - a previous commit made sure
that intrinsics always get the right attributes.
So remove no-longer needed code, and while there use
Intrinsic::getDeclaration rather than getOrInsertFunction.
llvm-svn: 49337
2008-04-07 13:43:58 +00:00
Duncan Sands
9622724bc3
Use Intrinsic::getDeclaration to get hold of
...
intrinsics. Fix up the argument type (should
be i8*, was an array*).
llvm-svn: 49336
2008-04-07 13:41:19 +00:00
Duncan Sands
c68e092c44
Make sure that intrinsics automagically get the
...
right parameter attributes no matter how they
are obtained.
llvm-svn: 49335
2008-04-07 13:39:11 +00:00