Commit Graph

42139 Commits

Author SHA1 Message Date
Dan Gohman 883cbfd0ba 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.

llvm-svn: 48777
2008-03-25 16:53:19 +00:00
Ted Kremenek 4b55badc39 GRSimple analysis now outputs additional diagnostic warnings about
passing an uninitialized value to a message expresion.

llvm-svn: 48776
2008-03-25 16:40:05 +00:00
Gordon Henriksen 40f061cb66 Tests for the instruction iterator bindings.
llvm-svn: 48775
2008-03-25 16:35:08 +00:00
Gordon Henriksen 9859ab7283 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!

llvm-svn: 48774
2008-03-25 16:26:51 +00:00
Ted Kremenek 3335120f69 Tweak to transfer function for ObjCMessageExpr: handle both instance methods
and message expressions with a specified receiver.

llvm-svn: 48773
2008-03-25 16:07:41 +00:00
Bill Wendling 0ee1bd9588 Fix PR2062: Don't build Intrinsics.gen in the source directory. Do it in the
object directory.

llvm-svn: 48766
2008-03-25 09:12:48 +00:00
Tanya Lattner ca8eb5d0f5 Disable building llvm-upgrade.
llvm-svn: 48764
2008-03-25 05:05:58 +00:00
Sam Bishop 1c077ae1b7 Make a note of the fact that EmitOwnedPtr() has nothing to do with the
OwningPtr<> class.

llvm-svn: 48763
2008-03-25 04:41:18 +00:00
Tanya Lattner 8bf97c2324 Byebye llvm-upgrade!
llvm-svn: 48762
2008-03-25 04:26:08 +00:00
Ted Kremenek 945a246ad8 Added logic to check for uninitialized values as the receivers for message expressions
and uninitialized values passed-by-value as arguments to message expressions.

llvm-svn: 48760
2008-03-25 02:10:28 +00:00
Evan Cheng 7d564c3b4a lastRegisterUse() should ignore identity copies. Those will be erased.
llvm-svn: 48759
2008-03-25 02:02:19 +00:00
Devang Patel 0d48c94e7d check struct layout
llvm-svn: 48758
2008-03-25 00:47:49 +00:00
Ted Kremenek 64100da427 Added initial transfer function support for ObjCMessageExpr.
llvm-svn: 48757
2008-03-25 00:34:37 +00:00
Ted Kremenek 7082a61074 Added "arg_iterators" to ObjCMessageExpr (for iterating over the arguments of a message expression)
llvm-svn: 48756
2008-03-25 00:16:48 +00:00
Evan Cheng fe7610f37f Remove an unneeded test.
llvm-svn: 48755
2008-03-24 23:55:16 +00:00
Ted Kremenek b2f4d3138f Minor CSS tweaking: use webkit style CSS properties for shadows/rounded edges
for message bubbles.

llvm-svn: 48754
2008-03-24 23:38:32 +00:00
Evan Cheng 50b536eef9 Add \t after .set. Fix by Jay Freeman.
llvm-svn: 48753
2008-03-24 23:36:49 +00:00
Evan Cheng 69a3f9c417 If the coalescer commuted a def MI to allow coalescing, it can changed a previously coalesced copy into an non-identity copy.
llvm-svn: 48752
2008-03-24 23:31:21 +00:00
Evan Cheng 6e225173c5 Add an assertion to catch register of illegal class.
llvm-svn: 48751
2008-03-24 23:28:21 +00:00
Bill Wendling 6306183df3 Use the bit size of the operand instead of the hard-coded 32 to generate the
mask.

llvm-svn: 48750
2008-03-24 23:16:37 +00:00
Andrew Lenharth 5e0067d982 With debug info, there are nameless constant global values. do not crash when we hit one
llvm-svn: 48749
2008-03-24 22:16:14 +00:00
Steve Naroff 65838bb2d5 Add a couple files to VC++ project and cleanup an "#if 0".
llvm-svn: 48748
2008-03-24 22:03:25 +00:00
Steve Naroff 48b1a18de4 Add file to project.
llvm-svn: 48747
2008-03-24 22:01:58 +00:00
Evan Cheng 615488ab45 - 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.
llvm-svn: 48746
2008-03-24 21:52:23 +00:00
Andrew Lenharth 10051b97fd debian amd64 testing
llvm-svn: 48745
2008-03-24 21:39:05 +00:00
Owen Anderson ce2682184f Oops. I wanted the compile flags for C++, not the C preprocessor flags.
llvm-svn: 48744
2008-03-24 21:38:01 +00:00
Owen Anderson c905fe9407 Revert r48676. I had plans for using it, but now it's just dead code.
llvm-svn: 48743
2008-03-24 21:29:58 +00:00
Andrew Lenharth d8cde6f45d debian ia32 testing
llvm-svn: 48742
2008-03-24 21:25:48 +00:00
Chris Lattner 22fc992f59 Avoid overflowing buffer, patch by Algeris Kirtzidis!
llvm-svn: 48741
2008-03-24 21:14:55 +00:00
Devang Patel 9c1f8b1d55 void type is also a valid function return type.
llvm-svn: 48740
2008-03-24 20:52:42 +00:00
Owen Anderson e2707768a4 Remove #include<iostream>, which I was using for debugging.
llvm-svn: 48739
2008-03-24 20:36:47 +00:00
Devang Patel a38f58aa5c Add incoming value from header only if phi node has any use inside the loop.
llvm-svn: 48738
2008-03-24 20:16:14 +00:00
Tanya Lattner a863ccadeb Added Passes.html to the documentation list.
llvm-svn: 48736
2008-03-24 18:29:32 +00:00
Devang Patel 8dec6c27b8 Fix typo. Clarify underlying message.
llvm-svn: 48734
2008-03-24 18:10:52 +00:00
Devang Patel c50977b025 Fix test name.
llvm-svn: 48733
2008-03-24 18:08:07 +00:00
Chris Lattner c2c0c8303c apparently tclsh doesn't lex like bash. Weird.
llvm-svn: 48732
2008-03-24 17:41:57 +00:00
Chris Lattner 9ca6bb4f16 pass the option so this test tests the right thing.
llvm-svn: 48731
2008-03-24 17:36:38 +00:00
Devang Patel c8794e71e3 Add new test.
llvm-svn: 48730
2008-03-24 17:16:39 +00:00
Dan Gohman 9654eca3ab Remove an unnecessary #include.
llvm-svn: 48729
2008-03-24 16:58:44 +00:00
Devang Patel ea249e3aef Remove incorrect comment.
llvm-svn: 48728
2008-03-24 16:58:20 +00:00
Dan Gohman aa583d75b1 Shrink the size of AllocationInst by using its SubclassData
field to store the alignment value instead of haing a
separate field.

llvm-svn: 48727
2008-03-24 16:55:58 +00:00
Dan Gohman d8ea040c31 APIntify SelectionDAG's EXTRACT_ELEMENT code.
llvm-svn: 48726
2008-03-24 16:38:05 +00:00
Evan Cheng 3471ae8c5d 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.

llvm-svn: 48725
2008-03-24 06:37:48 +00:00
Bill Wendling 1f5c2e7fc6 Small format/grammar changes.
llvm-svn: 48723
2008-03-24 05:58:47 +00:00
Bill Wendling f52a379cb3 Grammar Nazi strikes! :-)
llvm-svn: 48722
2008-03-24 05:55:54 +00:00
Devang Patel e3dfc1cbf1 Update Function type documentation to clarify how multiple return values are supported.
llvm-svn: 48721
2008-03-24 05:35:41 +00:00
Evan Cheng 21a8e3d260 Temporarily disabling memset forming optimization. Add an option.
llvm-svn: 48720
2008-03-24 05:28:38 +00:00
Owen Anderson 200e57840e 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.

llvm-svn: 48719
2008-03-24 04:11:27 +00:00
Gordon Henriksen 8e62643a5e Ignoring per-user file.
llvm-svn: 48718
2008-03-24 03:43:50 +00:00
Gordon Henriksen 17af727251 Ignoring generated files.
llvm-svn: 48717
2008-03-24 03:42:32 +00:00