Devang Patel
55c666a867
Add optimize-for-size knob.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48793 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 21:02:35 +00:00
Evan Cheng
26471c48b3
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48792 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 20:08:07 +00:00
Evan Cheng
d34af7875b
Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48791 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 20:07:13 +00:00
Anton Korobeynikov
1cf962b874
Fix the Cygwin/Mingw-On-Cygwin build. Patch by Alain Frisch!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48786 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 18:53:36 +00:00
Bill Wendling
3ee3267fc2
De-constify the input to the "operator >>" method as it is modified.
...
Patch by dekruijf@cs.wisc.edu !
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48782 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 18:16:52 +00:00
Dan Gohman
cffbd2562a
Fix typos.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48779 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 17:10:29 +00:00
Dan Gohman
27845362d9
Add CMP32mr and friends to the load-unfolding table. Among
...
other things, this allows the scheduler to unfold a load operand
in the 2008-01-08-SchedulerCrash.ll testcase, so it now successfully
clones the comparison to avoid a pushf+popf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48777 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 16:53:19 +00:00
Gordon Henriksen
1d21395f4c
Tests for the instruction iterator bindings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48775 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 16:35:08 +00:00
Gordon Henriksen
033d778249
Extend the builder interface to use the new instruction positioning code.
...
This adds support for instruction iterators, as well as rewriting the
builder code to use these new functions. This lets us eliminate the C
bindings for moving around the builder.
Patch by Erick Tryzelaar!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48774 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 16:26:51 +00:00
Bill Wendling
92e73d7628
Fix PR2062: Don't build Intrinsics.gen in the source directory. Do it in the
...
object directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48766 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 09:12:48 +00:00
Tanya Lattner
6fefa6a12b
Disable building llvm-upgrade.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48764 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 05:05:58 +00:00
Sam Bishop
e62683d3fc
Make a note of the fact that EmitOwnedPtr() has nothing to do with the
...
OwningPtr<> class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48763 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 04:41:18 +00:00
Tanya Lattner
6f729d601c
Byebye llvm-upgrade!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48762 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 04:26:08 +00:00
Evan Cheng
a2fb634def
lastRegisterUse() should ignore identity copies. Those will be erased.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48759 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 02:02:19 +00:00
Devang Patel
d804f8ff70
check struct layout
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48758 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-25 00:47:49 +00:00
Evan Cheng
ea10046ebc
Remove an unneeded test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48755 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 23:55:16 +00:00
Evan Cheng
066114555d
Add \t after .set. Fix by Jay Freeman.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48753 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 23:36:49 +00:00
Evan Cheng
6f83fc8afb
If the coalescer commuted a def MI to allow coalescing, it can changed a previously coalesced copy into an non-identity copy.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48752 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 23:31:21 +00:00
Evan Cheng
af8c563e11
Add an assertion to catch register of illegal class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 23:28:21 +00:00
Bill Wendling
3e98c30cf5
Use the bit size of the operand instead of the hard-coded 32 to generate the
...
mask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48750 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 23:16:37 +00:00
Andrew Lenharth
df4613ced2
With debug info, there are nameless constant global values. do not crash when we hit one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48749 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 22:16:14 +00:00
Steve Naroff
b96af47381
Add file to project.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48747 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 22:01:58 +00:00
Evan Cheng
62a3f1538c
- SSE4.1 extractfps extracts a f32 into a gr32 register. Very useful! Not. Fix the instruction specification and teaches lowering code to use it only when the only use is a store instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48746 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 21:52:23 +00:00
Owen Anderson
aec9600389
Oops. I wanted the compile flags for C++, not the C preprocessor flags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48744 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 21:38:01 +00:00
Owen Anderson
19cfd733e2
Revert r48676. I had plans for using it, but now it's just dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48743 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 21:29:58 +00:00
Devang Patel
7a3ad1a401
void type is also a valid function return type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48740 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 20:52:42 +00:00
Owen Anderson
9a31444ee6
Remove #include<iostream>, which I was using for debugging.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48739 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 20:36:47 +00:00
Devang Patel
60a12907c3
Add incoming value from header only if phi node has any use inside the loop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48738 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 20:16:14 +00:00
Tanya Lattner
20b7bda692
Added Passes.html to the documentation list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48736 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 18:29:32 +00:00
Devang Patel
3a5bff8d04
Fix typo. Clarify underlying message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48734 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 18:10:52 +00:00
Devang Patel
fb0f58302a
Fix test name.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48733 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 18:08:07 +00:00
Chris Lattner
0b26a31ae6
apparently tclsh doesn't lex like bash. Weird.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48732 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 17:41:57 +00:00
Chris Lattner
263250b131
pass the option so this test tests the right thing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48731 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 17:36:38 +00:00
Devang Patel
eee4f8490b
Add new test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48730 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 17:16:39 +00:00
Dan Gohman
40ca2304a4
Remove an unnecessary #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48729 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 16:58:44 +00:00
Devang Patel
648deab93b
Remove incorrect comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48728 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 16:58:20 +00:00
Dan Gohman
52837078c7
Shrink the size of AllocationInst by using its SubclassData
...
field to store the alignment value instead of haing a
separate field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48727 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 16:55:58 +00:00
Dan Gohman
4c931fc6e2
APIntify SelectionDAG's EXTRACT_ELEMENT code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48726 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 16:38:05 +00:00
Evan Cheng
8d84d5b62c
Increasing the inline limit from (overly conservative) 200 to 300. Given each BB costs 20 and each instruction costs 5, 200 means a 4 BB function + 24 instructions (actually less because caller's size also contributes to it).
...
Furthermore, double the limit when more than 10% of the callee instructions are vector instructions. Multimedia kernels tend to love inlining.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48725 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 06:37:48 +00:00
Bill Wendling
16b412c6e2
Small format/grammar changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48723 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 05:58:47 +00:00
Bill Wendling
ae851b63af
Grammar Nazi strikes! :-)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48722 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 05:55:54 +00:00
Devang Patel
a582f404df
Update Function type documentation to clarify how multiple return values are supported.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 05:35:41 +00:00
Evan Cheng
88ffdddcc4
Temporarily disabling memset forming optimization. Add an option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48720 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 05:28:38 +00:00
Owen Anderson
e46611e6bc
Be sure to remove intervals after we've joined them. Also, remove some duplicated code.
...
With this pass, StrongPHIElim can compile very simple testcases correctly. There's still a ways
to go before it's ready for prime time, though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48719 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 04:11:27 +00:00
Gordon Henriksen
ba1d13b734
Ignoring per-user file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48718 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 03:43:50 +00:00
Gordon Henriksen
b2cda67c09
Ignoring generated files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48717 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 03:42:32 +00:00
Evan Cheng
b98a10e8a3
Transform (zext (or (icmp), (icmp))) to (or (zext (cimp), (zext icmp))) if at least one of the (zext icmp) can be transformed to eliminate an icmp.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48715 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-24 00:21:34 +00:00
Evan Cheng
3d5cd6118d
Remove duplicated entries.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48714 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-23 22:56:07 +00:00
Gordon Henriksen
f440691a20
Another typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48713 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-23 22:52:51 +00:00
Gordon Henriksen
224fceb41f
Fix a typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48712 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-23 22:37:22 +00:00