Dan Gohman
f2f57ebc84
Fix an x86 code size regression: prefer RIP-relative addressing
...
over absolute addressing even in non-PIC mode (unless the address
has an index or something else incompatible), because it has a
smaller encoding.
llvm-svn: 79553
2009-08-20 18:23:44 +00:00
Dan Gohman
c39a6b16eb
Add a comment explaining why llvm_unreachable_internal doesn't call
...
the ErrorHandler callback.
llvm-svn: 79541
2009-08-20 17:15:19 +00:00
Daniel Dunbar
9ad4b47cec
Fix two APFloat bugs in converting hexadecimal constants.
...
llvm-svn: 79540
2009-08-20 17:12:33 +00:00
Dan Gohman
6ec8176e22
Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
...
and hasNoSignedWrap, for consistency with the nuw and nsw properties.
llvm-svn: 79539
2009-08-20 17:11:38 +00:00
Evan Cheng
86546fb692
Fix an obvious copy-n-paste bug.
...
llvm-svn: 79535
2009-08-20 17:01:04 +00:00
Dan Gohman
d9766dcb85
Various comment and whitespace cleanups.
...
llvm-svn: 79533
2009-08-20 16:42:55 +00:00
Dan Gohman
565d0c0f3b
Update and fix some comments.
...
llvm-svn: 79532
2009-08-20 16:27:10 +00:00
Jim Grosbach
0929242f26
Check for shared landing pads when assigning call site values. Invokes which
...
share a landing pad should also use the same call site value.
llvm-svn: 79501
2009-08-20 01:03:48 +00:00
Dale Johannesen
bb3b75a863
Add an extra line to conform with preferred style.
...
llvm-svn: 79495
2009-08-19 23:44:01 +00:00
Reid Kleckner
8bd08ffbf4
Modify an assert to avoid what looks like a GCC 4.2.4 signed-ness bug.
...
llvm-svn: 79494
2009-08-19 23:39:59 +00:00
Dan Gohman
5b725f1a48
Fix a few places to check if TargetData is available before using it.
...
llvm-svn: 79493
2009-08-19 23:38:22 +00:00
Daniel Dunbar
446d29370f
Add a fast path for setName("") on an unnamed value.
...
llvm-svn: 79492
2009-08-19 23:37:23 +00:00
Owen Anderson
d0438546ef
AttrListPtr operations need to be atomic.
...
llvm-svn: 79486
2009-08-19 22:58:34 +00:00
Dan Gohman
cc511acf87
Fix a bug in the over-index constant folding. When over-indexing an
...
array member of a struct, it's possible to land in an arbitrary position
inside that struct, such that attempting to find further getelementptr
indices will fail. In such cases, folding cannot be done.
llvm-svn: 79485
2009-08-19 22:46:59 +00:00
Dale Johannesen
fc8ee02c25
Handle 'a' modifier in X86 asms. PR 4742.
...
llvm-svn: 79484
2009-08-19 22:44:41 +00:00
Reid Kleckner
cb12d4d677
Fixed error in CPPBackend from a contextification API change.
...
llvm-svn: 79483
2009-08-19 22:38:37 +00:00
David Greene
0658dce9a4
Add missing forward declaration.
...
llvm-svn: 79481
2009-08-19 22:19:44 +00:00
David Greene
a648747919
Add missing includes.
...
llvm-svn: 79480
2009-08-19 22:16:11 +00:00
David Greene
247bd82474
Add missing includes.
...
llvm-svn: 79479
2009-08-19 22:08:26 +00:00
David Greene
e79dd523ab
Add missing includes.
...
llvm-svn: 79478
2009-08-19 22:05:21 +00:00
David Greene
270a5f3e14
Add missing includes.
...
llvm-svn: 79476
2009-08-19 22:02:07 +00:00
David Greene
8dfc73dbbf
Add missing includes.
...
llvm-svn: 79475
2009-08-19 21:59:18 +00:00
David Greene
1fff843647
Add missing includes.
...
llvm-svn: 79474
2009-08-19 21:55:33 +00:00
David Greene
1df248be05
Add missing includes.
...
llvm-svn: 79473
2009-08-19 21:52:55 +00:00
Owen Anderson
bbc67a90d5
Get rid of a helgrind warning. If this is _actually_ a performance problem,
...
we can find a way to cache the answer that isn't racy.
llvm-svn: 79472
2009-08-19 21:48:34 +00:00
Eli Friedman
fe70446342
Add triple parsing support for TCE.
...
llvm-svn: 79461
2009-08-19 20:46:03 +00:00
Daniel Dunbar
2cf5eb67b4
Switch to SmallString::str from SmallString::c_str, and remove
...
SmallString::c_str.
llvm-svn: 79456
2009-08-19 20:07:03 +00:00
Daniel Dunbar
2411847839
Change ValueSymbolTable to use raw_svector_ostream for string concatenation.
...
llvm-svn: 79449
2009-08-19 19:22:52 +00:00
Daniel Dunbar
115971f6a7
Change raw_svector_ostream to reserve the input buffer if necessary, Ted was
...
right.
- This class turns out to be much more convenient to use if we do this; clients
can make sure the buffer is always big enough if they care (since our current
idiom tends to be to use a SmallString<256> for the input to this we should
generally be avoiding an unnecessary malloc).
Also, add a convenience raw_svector_ostream::str method which flushes the buffer
and returns a StringRef for the vector contents.
llvm-svn: 79446
2009-08-19 18:40:58 +00:00
Dan Gohman
b19c5b81dd
Remove temporary testing code.
...
llvm-svn: 79443
2009-08-19 18:27:08 +00:00
Dan Gohman
e982de2e30
Make SROA and PredicateSimplifier cope if TargetData is not
...
available. This is very conservative for now.
llvm-svn: 79442
2009-08-19 18:22:18 +00:00
Dan Gohman
ba656de4a4
Use hasDefinitiveInitializer() instead of testing the same thing
...
by hand, and fix a few places that were using hasInitializer() that
appear to depend on the initializer value.
llvm-svn: 79441
2009-08-19 18:20:44 +00:00
Dan Gohman
bc59c24278
Canonicalize indices in a constantexpr GEP. If Indices exceed the
...
static extents of the static array type, it causes GlobalOpt and
other passes to be more conservative. This canonicalization also
allows the constant folder to add "inbounds" to GEPs.
llvm-svn: 79440
2009-08-19 18:18:36 +00:00
Dan Gohman
eb6fbd7fd1
Add an x86 peep that narrows TEST instructions to forms that use
...
a smaller encoding. These kinds of patterns are very frequent in
sqlite3, for example.
llvm-svn: 79439
2009-08-19 18:16:17 +00:00
Daniel Dunbar
7c093c9ac4
Switch Twine::str() to use toVector(), which is now efficient.
...
llvm-svn: 79437
2009-08-19 18:09:47 +00:00
David Goodwin
d57f44783c
Update Cortex-A8 instruction itineraries for integer instructions.
...
llvm-svn: 79436
2009-08-19 18:00:44 +00:00
Daniel Dunbar
2e2969f9e1
Switch raw_svector_ostream to use the vector as the ostream buffer.
...
- This avoids unnecessary malloc/free overhead in the common case, and
unnecessary copying from the ostream buffer into the output vector.
llvm-svn: 79434
2009-08-19 17:54:29 +00:00
Owen Anderson
9e0bb1bd44
Reapply my less-lock-contention-in-leak-detector patch, now with new files
...
actually added.
llvm-svn: 79429
2009-08-19 17:07:46 +00:00
Bob Wilson
fae9057bf0
Add support for Neon VEXT (vector extract) shuffles.
...
This is derived from a patch by Anton Korzh. I modified it to recognize
the VEXT shuffles during legalization and lower them to a target-specific
DAG node.
llvm-svn: 79428
2009-08-19 17:03:43 +00:00
Daniel Dunbar
988ae00460
Speculatively revert r79375, which may be breaking bootstrap, although in a
...
rather obscure way (the other candidate is r79377).
llvm-svn: 79426
2009-08-19 16:25:25 +00:00
David Goodwin
9a605efb84
Use the schedule itinerary operand use/def cycle information to adjust dependence edge latency for post-RA scheduling.
...
llvm-svn: 79425
2009-08-19 16:08:58 +00:00
Eli Friedman
914b41055a
PR4737: Fix a nasty bug in load narrowing with non-power-of-two types.
...
llvm-svn: 79415
2009-08-19 08:46:10 +00:00
Nick Lewycky
47bc7e0bd0
Fix up PHI nodes correctly in the presence of unreachable BBs, part two. Also
...
delete a newed pointer, and improve readability a little bit.
llvm-svn: 79411
2009-08-19 07:16:57 +00:00
Chris Lattner
aeed3004c1
fix asmstreaming of 2/4 byte elements with pow-2 alignments.
...
llvm-svn: 79408
2009-08-19 06:35:36 +00:00
Nick Lewycky
ed3dcdbdb8
Be more careful when modifying PHI nodes. Patch by Andre Tavares.
...
llvm-svn: 79407
2009-08-19 06:24:33 +00:00
Chris Lattner
57b873fda0
switch asmprinter to emit alignments through OutStreamer.
...
llvm-svn: 79406
2009-08-19 06:12:02 +00:00
Chris Lattner
9cbc9c2d13
eliminate AsmPrinter::SwitchToSection and just have clients
...
talk to the MCStreamer directly instead.
llvm-svn: 79405
2009-08-19 05:49:37 +00:00
Andreas Neustifter
7cffe838a8
Broke line before break.
...
llvm-svn: 79404
2009-08-19 05:44:39 +00:00
Daniel Dunbar
b606fc6b6c
Make a SmallVector size more reasonable.
...
llvm-svn: 79403
2009-08-19 05:08:06 +00:00
Lang Hames
c26fb5727a
Added an option to have the PBQP allocator attempt coalescing during allocation.
...
llvm-svn: 79397
2009-08-19 01:36:14 +00:00