Bill Wendling
68ac27094d
Fix the JIT bindings for ocaml.
...
llvm-svn: 70454
2009-04-30 00:43:39 +00:00
Chris Lattner
25991c4e7d
remove progname which is never set. PR4085
...
llvm-svn: 70453
2009-04-30 00:24:33 +00:00
Bill Wendling
4df71cd268
Error out with bad optimization level specified.
...
llvm-svn: 70449
2009-04-29 23:46:43 +00:00
Bill Wendling
6e33661382
Remove LTO optimization level.
...
llvm-svn: 70445
2009-04-29 23:40:42 +00:00
Bill Wendling
40a162f75f
Instead of passing in an unsigned value for the optimization level, use an enum,
...
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
2009-04-29 23:29:43 +00:00
Bill Wendling
3f4c6171d1
Add support for a character after a command line option. Like '-Os'.
...
llvm-svn: 70437
2009-04-29 23:26:16 +00:00
Dale Johannesen
be38eaf1d4
Print correct instruction in dump.
...
llvm-svn: 70427
2009-04-29 22:57:20 +00:00
Nate Begeman
b407809122
Fix infinite recursion in the C++ code which handles movddup by making it unnecessary.
...
llvm-svn: 70425
2009-04-29 22:47:44 +00:00
Dan Gohman
63bab48951
Implement getSCEVAtScope for SCEV cast expressions.
...
llvm-svn: 70422
2009-04-29 22:29:01 +00:00
Dan Gohman
06aff30f01
Generalize the cast-of-addrec folding to handle folding of SCEVs like
...
(sext i8 {-128,+,1} to i64) to i64 {-128,+,1}, where the iteration
crosses from negative to positive, but is still safe if the trip
count is within range.
llvm-svn: 70421
2009-04-29 22:28:28 +00:00
Dan Gohman
8b1b8d5891
Reword and tidy up some comments.
...
llvm-svn: 70416
2009-04-29 22:01:05 +00:00
Bill Wendling
e02f6210ab
Don't use 'false' for 'fast isel' here.
...
llvm-svn: 70411
2009-04-29 21:22:00 +00:00
Dan Gohman
9fa631c81a
Fix this test to match the new output from scalar-evolution.
...
llvm-svn: 70410
2009-04-29 21:06:20 +00:00
Jakob Stoklund Olesen
0bfaaea2a4
MachineInstr::isRegTiedTo{Use,Def}Operand can safely be made const.
...
llvm-svn: 70408
2009-04-29 20:57:16 +00:00
Dan Gohman
55befacc69
Include the source type in SCEV cast expression debug output, and
...
print sext, zext, and trunc, instead of signextend, zeroextend,
and truncate, respectively, for consistency with the main IR.
llvm-svn: 70405
2009-04-29 20:27:52 +00:00
Nate Begeman
e4dd5a96ba
Update comment, replace theoretically impossible check with an assert.
...
llvm-svn: 70391
2009-04-29 18:13:31 +00:00
Dale Johannesen
15486ddd95
Fix recent regression in gcc.dg/pr26719.c (6835035).
...
llvm-svn: 70386
2009-04-29 16:38:47 +00:00
Sanjiv Gupta
20d1683822
Add directive to declare external globals.
...
llvm-svn: 70379
2009-04-29 08:23:18 +00:00
Evan Cheng
62fdc300dd
spillPhysRegAroundRegDefsUses() may have invalidated iterators stored in fixed_ IntervalPtrs. Reset them.
...
llvm-svn: 70378
2009-04-29 07:16:34 +00:00
Chris Lattner
e0b97f682d
testcase for PR4082
...
llvm-svn: 70375
2009-04-29 06:46:27 +00:00
Nate Begeman
414534b3eb
Implement review feedback for vector shuffle work.
...
llvm-svn: 70372
2009-04-29 05:20:52 +00:00
Sanjiv Gupta
b1c777e865
Add a public method called getAddressSpace() to the GlobalAddressSDNode.
...
llvm-svn: 70366
2009-04-29 04:43:24 +00:00
Chris Lattner
e1eefefdc3
Disable the load-shrinking optimization from looking at
...
anything larger than 64-bits, avoiding a crash. This should
really be fixed to use APInts, though type legalization happens
to help us out and we get good code on the attached testcase at
least.
This fixes rdar://6836460
llvm-svn: 70360
2009-04-29 03:45:07 +00:00
Dan Gohman
4f8ccd5bc8
Update comments to reflect the current code.
...
llvm-svn: 70357
2009-04-29 01:54:20 +00:00
Dan Gohman
ed64cdeaa2
Add some more doxygen comments to SCEVAddRec.
...
llvm-svn: 70354
2009-04-29 00:59:03 +00:00
Evan Cheng
51727d25b2
Determine allocation 'preference' with right register class. I haven't seen this changing codegen so no test case.
...
llvm-svn: 70351
2009-04-29 00:42:27 +00:00
Bill Wendling
50971fd69c
The second part of the change from -fast to -O#. This changes the JIT to accept
...
an optimization level instead of a simple boolean telling it to generate code
"fast" or the other type of "fast".
llvm-svn: 70347
2009-04-29 00:32:19 +00:00
Bill Wendling
7546bed590
Second attempt:
...
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
2009-04-29 00:15:41 +00:00
Bill Wendling
5cbc488785
Correct comment.
...
llvm-svn: 70340
2009-04-29 00:09:22 +00:00
Dan Gohman
346c77f79d
As with r70333, give the primary induction variable a use so
...
that it can't be trivially eliminated.
llvm-svn: 70334
2009-04-28 22:05:13 +00:00
Dan Gohman
5bb06cda1e
Make this testcase slightly less trivial, so that it doesn't fail
...
if indvars happens to optimize away the unused primary induction
variable.
llvm-svn: 70333
2009-04-28 22:03:26 +00:00
Dan Gohman
211c5de27d
Fix a grammaro in a comment.
...
llvm-svn: 70331
2009-04-28 21:54:23 +00:00
Anton Korobeynikov
1799ac4b55
Properly print 'P' modifier on inline asm memory operands.
...
This should fix PR3379 and PR4064.
Patch inspired by Edwin Török!
llvm-svn: 70328
2009-04-28 21:49:33 +00:00
Bob Wilson
6c49824b6f
Fix trailing whitespace and 80-col. violations in recent TableGen changes.
...
llvm-svn: 70319
2009-04-28 19:41:44 +00:00
Evan Cheng
46e0ff09e5
Move getMatchingSuperReg() out of coalescer and into TargetRegisterInfo.
...
llvm-svn: 70309
2009-04-28 18:29:27 +00:00
Dale Johannesen
db6d3a77dc
Test for llvm-gcc bug fixed by 70301.
...
llvm-svn: 70302
2009-04-28 17:16:30 +00:00
Sanjiv Gupta
19e7fe61ce
GlobalValue is always pointer type, so an assert isn't required.
...
llvm-svn: 70300
2009-04-28 16:39:45 +00:00
Stefanus Du Toit
984008e1d7
Fix choice of version of Windows callback to use to consider not only the Visual Studio version, but also the Windows SDK version.
...
Patch by Tareq Siraj.
llvm-svn: 70299
2009-04-28 16:37:58 +00:00
Jakob Stoklund Olesen
6a489c6d7e
Don't coalesce a physical register with an incompatible virtual register.
...
If the physical register does not belong to the virtual register's regclass,
don't coalesce. The physical register could be an invalid operand for an
instruction using the vreg.
The regclass matching is done after determining the actual subregisters being copied.
llvm-svn: 70298
2009-04-28 16:34:35 +00:00
Sanjiv Gupta
51c8ca2ca6
Initialized arrays can be in any address space.
...
llvm-svn: 70297
2009-04-28 16:34:20 +00:00
Jakob Stoklund Olesen
26d9b11da5
Move getSubRegisterRegClass from ScheduleDagSDNodesEmit.cpp to a TargetRegisterClass method.
...
Also make the method non-asserting. It will return NULL when given an invalid subreg index.
The method is needed by an upcoming patch.
llvm-svn: 70296
2009-04-28 16:34:09 +00:00
Evan Cheng
754a0d2f9e
Fix PR4034. Bug in LiveInterval::join when it's compacting new valno's.
...
llvm-svn: 70291
2009-04-28 06:24:09 +00:00
Jakob Stoklund Olesen
a900530bf2
Initial test commit
...
llvm-svn: 70290
2009-04-28 06:15:00 +00:00
Evan Cheng
8a9736a26c
Fix for PR4051. When 2address pass delete an instruction, update kill info when necessary.
...
llvm-svn: 70279
2009-04-28 02:12:36 +00:00
Bill Wendling
ef47ace92f
r70270 isn't ready yet. Back this out. Sorry for the noise.
...
llvm-svn: 70275
2009-04-28 01:04:53 +00:00
Bill Wendling
2799e916c3
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
...
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'm not 100% sure if it's necessary to change it there...
llvm-svn: 70270
2009-04-28 00:21:31 +00:00
Dan Gohman
418f294b3b
Remove an obsolete comment.
...
llvm-svn: 70262
2009-04-27 22:12:34 +00:00
Dale Johannesen
626b0a32f7
Fix PR 4086, a bug in FP IV elimination.
...
llvm-svn: 70247
2009-04-27 21:03:15 +00:00
Evan Cheng
c315cf24e3
Fix PR4076. Correctly create live interval of physical register with two-address update.
...
llvm-svn: 70245
2009-04-27 20:42:46 +00:00
Dan Gohman
e1a532cb4f
Permit ChangeCompareStride to rewrite a comparison when the factor
...
between the comparison's iv stride and the candidate stride is
exactly -1.
llvm-svn: 70244
2009-04-27 20:35:32 +00:00