Evan Cheng
bfc9999563
Allow more cross-rc coalescing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98048 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 06:38:17 +00:00
Chris Lattner
c608784dc8
reapply r98035:
...
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 04:54:43 +00:00
Chris Lattner
6c7dfc0463
add some extra checks. I'm not sure why, but this does unbreak a
...
failure remaining on mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 04:48:35 +00:00
Evan Cheng
7ef1840d9e
Revert accidental commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98045 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 04:04:38 +00:00
Jakob Stoklund Olesen
1552cccc76
Don't do illegal cross-class coalescing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98044 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 03:56:06 +00:00
Evan Cheng
31f94c7c22
- Make the machine cse dumb coalescer (as opposed to the more awesome simple
...
coalescer) handle sub-register classes.
- Add heuristics to avoid non-profitable cse. Given the current lack of live
range splitting, avoid cse when an expression has PHI use and the would be
new use is in a BB where the expression wasn't already being used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98043 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 03:21:12 +00:00
Dan Gohman
81d0c36d22
Don't try to fold V_SET0 and V_SETALLONES to loads in medium and
...
large code models.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98042 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 03:01:40 +00:00
Bill Wendling
94a1c631db
This is part of an LLC-beta test used to test <rdar://problem/6804645>. Please
...
bear with the awful code. It won't last in its current state beyond tonight.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98040 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 02:46:12 +00:00
Eric Christopher
ee6414cf04
Speculatively revert r98035. It appears to have caused a set of buildbot
...
failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 02:36:31 +00:00
Dan Gohman
19b3826d0f
Attempt to make this debug output meaningful, both in the case of
...
multibyte opcodes and in the case of multiple scopes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98036 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 02:15:05 +00:00
Chris Lattner
1e233f510c
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
...
beginScope and RecordSourceLine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 02:08:02 +00:00
Chris Lattner
b7db733482
change DbgScope to keep track of the start/end label as MCSymbol*
...
now that the dependence on ID is removed from MMI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:58:53 +00:00
Dan Gohman
cbac7f1630
Make isLCSSA ignore uses in blocks not reachable from the entry block,
...
as LCSSA no longer transforms such uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98033 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:53:33 +00:00
Chris Lattner
5b9062cb3a
remove a useless optimization: now that label replacement never
...
happens, the start/end of a scope can never be the same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:52:43 +00:00
Chris Lattner
a34ec2290f
strength reduce MMI::MappedLabel to MMI::isLabelDeleted,
...
and add a FIXME about how we are eventually going to zap this
lookup table once mc world domination is complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:51:43 +00:00
Daniel Dunbar
45aefff64c
MC/Mach-O: Tweak .dump() formatting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98028 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:12:23 +00:00
Daniel Dunbar
f8b8ad77a8
MC/Mach-O: Don't adjust section sizes when aligning zero fill sections, just pad the address.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98027 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:12:20 +00:00
Dale Johannesen
768069ee7a
Another place where debug info affected codegen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98026 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:08:11 +00:00
Chris Lattner
b2cc1a39f7
mcstreamerize AsmPrinter::printLabel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 01:02:30 +00:00
Jakob Stoklund Olesen
2ddbf8208e
Add inlining threshold to log output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98024 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:59:53 +00:00
Jakob Stoklund Olesen
35071a0847
Disable physical register coalescing when the number of live ranges for the
...
physreg becomes ridiculously high.
std::upper_bound may be log(N), but for sufficiently large live intervals, it
becomes log(N)*cachemiss = a long long time.
This patch improves coalescer time by 4500x for a function with 20000
function calls. The generated code is different, but not significantly worse -
the allocator hints are almost as good as physreg coalescing anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:59:48 +00:00
Devang Patel
4b945500a5
Start using DIFile. See updated SourceLevelDebugging.html for more information.
...
This patch updates LLVMDebugVersion to 8.
Debug info descriptors encoded using LLVMDebugVersion 7 is supported.
Corresponding llvmgcc and clang FE commits are required.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98020 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:44:10 +00:00
Bill Wendling
cf6f28d84a
Print blank line and clear stubs vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98019 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:43:34 +00:00
Bill Wendling
becd83e3f4
MC-ize the stub printing in ARM.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98018 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:40:17 +00:00
Chris Lattner
6cde3e6e99
add a EmitSymbolValue convenience method to MCStreamer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:39:24 +00:00
Chris Lattner
6ed0f90dac
make InlineInfoLabels hold MCSymbol*'s, avoiding
...
recomputation of the labels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:31:02 +00:00
Chris Lattner
b9dc5f7b58
mc'ize the last use of PrintLabelName and eliminate PrintLabelName.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:26:09 +00:00
Chris Lattner
ef6b14f51c
eliminate an argument from PrintRelDirective, sinking
...
the one special case into EmitSectionOffset. MCize
the non-special case in EmitSectionOffset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98014 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:17:58 +00:00
Dan Gohman
8f03d75161
Print the correct index in the "match failed at index" message.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98013 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:07:36 +00:00
Chris Lattner
b67d69df65
remove the suffix form of PrintLabelName, which was only
...
used for 'flavor'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98012 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:00:57 +00:00
Chris Lattner
c3421bb805
now that the debug and eh emitters use a common .set counter,
...
we can eliminate "flavor".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09 00:00:15 +00:00
Chris Lattner
0d50c7620d
move .set generation out of DwarfPrinter into AsmPrinter and
...
MCize it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98010 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 23:58:37 +00:00
Evan Cheng
5196018d9c
Don't waste time trying to CSE labels, phis, inline asm. Definitely avoid cse implicit-def for obvious performance reason.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98009 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 23:49:12 +00:00
Evan Cheng
6c3b8ac6c9
Restrict machine cse to really trivial coalescing. Leave the heavy lifting to a real coalescer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98007 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 23:28:08 +00:00
Chris Lattner
57578766aa
simplify EmitSectionOffset to always use .set if it is
...
available, the only thing this affects is that we produce
.set in one case we didn't before, which shouldn't harm
anything. Make EmitSectionOffset call EmitDifference
instead of duplicating it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 23:23:25 +00:00
Chris Lattner
82f05078b0
don't reset defaults.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98004 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 23:18:21 +00:00
Chris Lattner
effa868d38
Remove a version of EmitDifference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 23:02:59 +00:00
Bob Wilson
f5fd499791
Fix a crash compiling 254.gap for Thumb2. The Thumb2 add/sub with 12-bit
...
immediate instructions cannot set the condition codes, so they do not have
the extra cc_out operand. We hit an assertion during tail duplication
because the instruction being duplicated had more operands that expected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98001 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:56:15 +00:00
Evan Cheng
687fed3530
Re-commit 97860 with fix. getMallocAllocatedType may return null.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98000 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:54:36 +00:00
Chris Lattner
dd8187a3e9
eliminate a form of PrintLabelName.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:52:49 +00:00
Chris Lattner
326861c4c8
remove another form of EmitReference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97998 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:50:36 +00:00
Chris Lattner
c7249da2e9
eliminate the non-MCSymbol versions of EmitReference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:47:57 +00:00
Chris Lattner
f829eef8fa
mc'ize EmitLabel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:44:40 +00:00
Chris Lattner
4faf59af82
merge DIEObjectLabel and DIEDwarfLabel into DIELabel.
...
Yes, DIE you fiendish labels, die all of you.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:31:46 +00:00
Devang Patel
7aa8189706
Introduce DIFile. This will be used to represent header files and source file(s) in debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97994 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:27:22 +00:00
Chris Lattner
b98b1bf432
elimiante the DWLabel class, using MCSymbol instead. Start
...
switching some stuff over to passing around MCSymbol* instead
of stem+ID.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97993 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:23:36 +00:00
Kevin Enderby
0e822407b2
Fix the vmxon entry in the X86InstrInfo.td so it has the correct prefix bytes
...
for the encoding and is not the same as vmptrld.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97992 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:17:26 +00:00
Daniel Dunbar
b2b4acd757
MC/Macho-O: Align the zerofill section itself to the maximum alignment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97991 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:03:42 +00:00
Devang Patel
77bf295dbb
Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97990 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 22:02:50 +00:00
Devang Patel
f17f5ebbdc
Remove DbgNode checks in constructor. Debug descriptors are intended to be light weight wrappers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97988 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 21:32:10 +00:00
Daniel Dunbar
37fad5ce4d
MC/Mach-O: Fix address compution for zero fill sections.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97984 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 21:10:42 +00:00
Daniel Dunbar
0ce6bd55c3
MC/Mach-O: Error out instead of crashing on invalid scattered relocation expressions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97983 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 21:10:39 +00:00
Daniel Dunbar
b93c72cda4
X86: Fix encoding for TEST{8,16,32}rr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97982 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 21:10:36 +00:00
Devang Patel
3c91b05d2b
Avoid using DIDescriptor.isNull().
...
This is a first step towards eliminating checks in Descriptor constructors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97975 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 20:52:55 +00:00
Devang Patel
0ef3fa6aab
Revert r97947.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97963 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 19:20:38 +00:00
Chris Lattner
dd6fbd1136
disambiguate some types, add a fixme about some
...
inconsistent intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97959 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:59:49 +00:00
Chris Lattner
3485b51c4d
fix some more ambiguous patterns, remove another nontemporalstore
...
pattern which is broken (source and address swapped).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97958 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:57:56 +00:00
Chris Lattner
341b27406d
Correct immediate sizes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97957 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:55:15 +00:00
Chris Lattner
0273fbbf22
fix a type compatibility bug. imm is i32 in the input
...
pattern, not i64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97956 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:52:55 +00:00
Chris Lattner
d10a53d5a1
fix a bunch of partially ambiguous patterns on ARM. As an
...
example, this:
(set DPR:$dst, (fsub (fneg (fmul DPR:$a, DPR:$b)), DPR:$dstin))
is ambiguous because DPR contains both f64 and v2f32. tblgen
currently accidentally picks f64 because it's first in the
regclass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97955 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:51:21 +00:00
Chris Lattner
b200f1c28e
Fix a bunch of ambiguous patterns which tblgen happens to infer types
...
for, due to a bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97953 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:44:04 +00:00
Chris Lattner
e00ed57087
tidy up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97950 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:29:38 +00:00
Devang Patel
d8cc5d5256
Avoid using DIDescriptor.isNull().
...
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97947 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 18:25:48 +00:00
Dale Johannesen
fab4a25d46
Add Order to SDDbgValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97939 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 05:39:50 +00:00
Dale Johannesen
84839daa59
Fix dbg value handling in tail merging.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97938 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 05:38:13 +00:00
Chris Lattner
9a1ac4c107
remove a non-temporal store pattern which is not tested and
...
could never have matched because the operand list was backwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97933 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 03:18:28 +00:00
Douglas Gregor
1ddcf35b68
Revert r97917, which was causing Clang Debug self-host failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97932 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08 02:58:37 +00:00
Jeffrey Yasskin
6fec233a1e
Roll back r97918 again. Just configuring against llvm-gcc wasn't enough to run
...
the FrontendC* tests. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97921 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 19:26:40 +00:00
Jeffrey Yasskin
92ce42f9fc
Reapply r97788 to free MDNodes when the LLVMContext is destroyed. It
...
bootstraps llvm-gcc this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97918 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 18:46:57 +00:00
Jeffrey Yasskin
9467f0e3bd
Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97917 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 17:10:13 +00:00
Chris Lattner
acee647b13
Use Other as a sentinel instead of iAny.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97914 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 07:45:08 +00:00
Jeffrey Yasskin
8c42ca9374
_2_ gcc crashes, ah, ah, ah...
...
(Rolling back r97906.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97909 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 07:16:49 +00:00
Jeffrey Yasskin
f7399bf929
Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97906 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 06:55:35 +00:00
Chris Lattner
98f15d27cd
tidy up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97895 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-07 04:28:09 +00:00
Wesley Peck
c2bf2bbe93
Re-committing the failed r97807 commit with changes to eliminate warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97891 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 23:23:12 +00:00
Nick Lewycky
e20ab4a03c
Add verification of union types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97889 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 20:26:48 +00:00
Anton Korobeynikov
e765f2b5e3
Describe what's going on with mingw alloca and why do we need separate instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97888 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 20:07:32 +00:00
Anton Korobeynikov
ce7bf1c55f
Initial bits of ARMv4-only support.
...
Patch by John Tytgat!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97886 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 19:39:36 +00:00
Anton Korobeynikov
043f3c2a0e
Lower dynamic stack allocation on mingw32 to separate instruction.
...
We cannot use a normal call here since it has extra unmodelled side
effects (it changes stack pointer). This should fix PR5292.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97884 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 19:32:29 +00:00
Chris Lattner
0ddda3b8c6
make APFloat::toString be const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97883 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 19:20:13 +00:00
Anton Korobeynikov
9aff323a07
Do not use '&' prefix for globals when register base field is non-zero, otherwise msp430-as will silently miscompile the code (TI's assembler report an error though).
...
This fixes PR6349
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97877 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 11:41:12 +00:00
Eric Christopher
7b323a34fa
Let the fallthrough handle whether or not we've changed anything
...
before we try to optimize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97876 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 10:59:25 +00:00
Eric Christopher
27ceaa13f8
Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub
...
out the remainder of the calls that we should lower in some way and
move the tests to the new correct directory. Fix up tests that are now
optimized more than they were before by -instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97875 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 10:50:38 +00:00
Chris Lattner
eea3f7e4ee
clean this up.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97870 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 07:02:28 +00:00
Chris Lattner
0a7f442314
revert r97807, it introduced build warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 04:32:46 +00:00
Jim Grosbach
e68bd74245
Thumb1 epilogue code generation needs to take into account that callee-saved
...
registers may be restored via a pop instruction, not just a tRestore.
This fixes nightly test 471.omnetep for Thumb1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97867 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 03:28:39 +00:00
Eric Christopher
75f0d6953a
Temporarily revert:
...
Log:
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.
Modified:
llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
llvm/trunk/test/Transforms/InstCombine/objsize.ll
It appears to be causing swb and nightly test failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97866 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 03:11:35 +00:00
Dale Johannesen
621e06f9df
Fix another case where LSR was affected by debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 02:45:26 +00:00
Evan Cheng
6cc1aeaad2
Don't update physical register def.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97861 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 01:14:19 +00:00
Evan Cheng
fc8ccfedbb
Transform @llvm.objectsize to integer if the argument is a result of malloc of known size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97860 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 01:01:42 +00:00
Erick Tryzelaar
e623050048
Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97858 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 00:30:06 +00:00
Erick Tryzelaar
b3195fbc2e
Whoops, the old LLVMWriteBitcodeToFileHandle closed the stream.
...
Luckily this never was released.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97857 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 00:30:01 +00:00
Erick Tryzelaar
760640599e
LLVMWriteBitcodeToFileHandle should work on all architectures now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97856 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 00:29:58 +00:00
Dale Johannesen
06a26637da
Add some new bits of debug info handling. No
...
functional change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97855 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 00:03:23 +00:00
Dan Gohman
0fa9d1d901
Reapply r97778 and r97779, enabled only for unsigned i64 to f64
...
conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97854 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 00:00:55 +00:00
Ted Kremenek
e080b038bf
Update CMake build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97846 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 22:34:16 +00:00
Charles Davis
314fef6127
Don't emit global symbols into the (__TEXT,__ustring) section on Darwin. This
...
is a workaround for <rdar://problem/7672401/> (which I filed).
This let's us build Wine on Darwin, and it gets the Qt build there a little bit
further (so Doug says).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 22:28:45 +00:00
Eric Christopher
b6174e3605
Move SimplifyLibCalls's LibCall builders to a separate file so they
...
can be used in more places. Add an argument for the TargetData that
most of them need. Update for the getInt8PtrTy() change. Should be
no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97844 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 22:25:30 +00:00
Jakob Stoklund Olesen
53e000bac3
Better handling of dead super registers in LiveVariables. We used to do this:
...
CALL ... %RAX<imp-def>
... [not using %RAX]
%EAX = ..., %RAX<imp-use, kill>
RET %EAX<imp-use,kill>
Now we do this:
CALL ... %RAX<imp-def, dead>
... [not using %RAX]
%EAX = ...
RET %EAX<imp-use,kill>
By not artificially keeping %RAX alive, we lower register pressure a bit.
The correct number of instructions for 2008-08-05-SpillerBug.ll is obviously
55, anybody can see that. Sheesh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 21:49:17 +00:00
Jakob Stoklund Olesen
a76e816844
We don't really care about correct register liveness information after the
...
post-ra scheduler has run. Disable the verifier checks that late in the game.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97837 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 21:49:13 +00:00
Jakob Stoklund Olesen
580bba2b0d
Avoid creating bad PHI instructions when BR is being const-folded.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97836 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 21:49:10 +00:00
Dale Johannesen
8d50ea7603
Fix a case where LSR is sensitive to debug info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97830 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 21:12:40 +00:00
Evan Cheng
a79eb387ac
Safely turn memset_chk etc. to non-chk variant if the known object size is >= memset / memcpy / memmove size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97828 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 20:59:47 +00:00
Evan Cheng
a862326bc7
Instcombine should turn llvm.objectsize of a alloca with static size to an integer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97827 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 20:47:23 +00:00
Evan Cheng
10718492c8
Fix typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97818 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 19:55:55 +00:00
Chris Lattner
ac834e7a5f
fix bss section printing for cell, patch by Kalle Raiskila!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97814 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 18:55:36 +00:00
Chris Lattner
4c5fb1a311
fix PR6512, a case where instcombine would incorrectly merge loads
...
from different addr spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97813 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 18:53:28 +00:00
Wesley Peck
c4155d591b
Reworking the stack layout that the MicroBlaze backend generates.
...
The MicroBlaze backend was generating stack layouts that did not
conform correctly to the ABI. This update generates stack layouts
which are closer to what GCC does.
Variable arguments support was added as well but the stack layout
for varargs has not been finalized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97807 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 15:26:02 +00:00
Chris Lattner
f34f48c578
Fix PR6503. This turned into a much more interesting and nasty bug. Various
...
parts of the cmp|cmp and cmp&cmp folding logic wasn't prepared for vectors
(unrelated to the bug but noticed while in the code) and the code was
*definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic
that I added in r95855. Fix all this up by changing the various routines
to more consistently use IRBuilder and not pass in the I which had the wrong
type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97801 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 08:46:26 +00:00
Evan Cheng
4cae133780
Fix an oops in x86 sibcall optimization. If the ByVal callee argument is itself passed as a pointer, then it's obviously not safe to do a tail call.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97797 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 08:38:04 +00:00
Chris Lattner
d6f645ac09
simplify some functions and make them work with vector
...
compares, noticed by inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97795 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 07:47:57 +00:00
Chris Lattner
893075f46e
fix a nice subtle reassociate bug which would only occur
...
in a very specific use pattern embodied in the carefully
reduced testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97794 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 07:18:54 +00:00
Eric Christopher
25ec483cfc
Move GetStringLength and helper from SimplifyLibCalls to ValueTracking.
...
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97793 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 06:58:57 +00:00
Jeffrey Yasskin
b71a2fcf5e
Revert r97788 because it broke test/FrontendC/2010-02-16-DbgVarScope.c.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97792 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 06:43:49 +00:00
Chris Lattner
18fdabadca
Fix PR6497, a bug where we'd fold a load into an addc
...
node which has a flag. That flag in turn was used by an
already-selected adde which turned into an ADC32ri8 which
used a selected load which was chained to the load we
folded. This flag use caused us to form a cycle. Fix
this by not ignoring chains in IsLegalToFold even in
cases where the isel thinks it can.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97791 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 06:19:13 +00:00
Chris Lattner
9bbcd5ee5b
inline a small function with one call site.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97789 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 05:49:45 +00:00
Jeffrey Yasskin
c8cfa30ca5
Free MDNodes when the LLVMContext is destroyed. Leak found by Valgrind.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97788 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 05:47:09 +00:00
Mikhail Glushenkov
0d61349dc3
Use FindExecutable as a fall-back search method.
...
Allows us to find executables that are in the same directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97786 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 04:46:28 +00:00
Evan Cheng
26e19ba9aa
Rever 96389 and 96990. They are causing some miscompilation that I do not fully understand.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97782 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 03:08:23 +00:00
Dan Gohman
b6b343d77a
Revert r97778 and r97779. They're somehow breaking llvm-gcc builds.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97781 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 02:40:23 +00:00
Dan Gohman
808ab341b4
Fix these constants to be more portable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97779 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 02:13:10 +00:00
Dan Gohman
cfa7ca1997
Rewrite i64-to-f64 conversion using an algorithm which handles
...
rounding correctly. This implementation is a generalization of
the x86_64 code in compiler-rt.
This fixes rdar://7683708.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97778 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 02:00:46 +00:00
Johnny Chen
fb86d78a45
Trivial comment change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 01:45:46 +00:00
Evan Cheng
f79d6246e6
Add missing break for Intrinsic::objectsize case. It was falling through to the following Intrinsic::bswap code. I have no idea why it wasn't breaking stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97774 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 01:22:47 +00:00
Chris Lattner
f071d4efeb
add an assertion requested on llvmdev.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97769 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 00:49:08 +00:00
Bill Wendling
18ce64e069
Revert r97766. It's deleting a tag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97768 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 00:33:59 +00:00
Bill Wendling
37b52ee6d9
Micro-optimization:
...
This code:
float floatingPointComparison(float x, float y) {
double product = (double)x * y;
if (product == 0.0)
return product;
return product - 1.0;
}
produces this:
_floatingPointComparison:
0000000000000000 cvtss2sd %xmm1,%xmm1
0000000000000004 cvtss2sd %xmm0,%xmm0
0000000000000008 mulsd %xmm1,%xmm0
000000000000000c pxor %xmm1,%xmm1
0000000000000010 ucomisd %xmm1,%xmm0
0000000000000014 jne 0x00000004
0000000000000016 jp 0x00000002
0000000000000018 jmp 0x00000008
000000000000001a addsd 0x00000006(%rip),%xmm0
0000000000000022 cvtsd2ss %xmm0,%xmm0
0000000000000026 ret
The "jne/jp/jmp" sequence can be reduced to this instead:
_floatingPointComparison:
0000000000000000 cvtss2sd %xmm1,%xmm1
0000000000000004 cvtss2sd %xmm0,%xmm0
0000000000000008 mulsd %xmm1,%xmm0
000000000000000c pxor %xmm1,%xmm1
0000000000000010 ucomisd %xmm1,%xmm0
0000000000000014 jp 0x00000002
0000000000000016 je 0x00000008
0000000000000018 addsd 0x00000006(%rip),%xmm0
0000000000000020 cvtsd2ss %xmm0,%xmm0
0000000000000024 ret
for a savings of 2 bytes.
This xform can happen when we recognize that jne and jp jump to the same "true"
MBB, the unconditional jump would jump to the "false" MBB, and the "true" branch
is the fall-through MBB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97766 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 00:24:26 +00:00
Dale Johannesen
b0812f114b
Fix some more places where dbg_value affected codegen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97765 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 00:02:59 +00:00
Jeffrey Yasskin
e5790a432a
Stop leaking MDStrings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 23:24:19 +00:00
Johnny Chen
267124cff2
Drop the ".w" qualifier for t2UXTB16* instructions as there is no 16-bit version
...
of either sxtb16 or uxtb16, and the unified syntax does not specify ".w".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 22:24:41 +00:00
Jeffrey Yasskin
e8cfa63e4e
Fix memcheck-found leaks: one false positive from using new[], and one true
...
positive where pointers would be leaked on llvm_shutdown.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97759 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 22:15:01 +00:00
Jim Grosbach
b58a59b3c1
For SJLJ exception handling, make sure that all calls that are not marked
...
as nounwind are marked with a -1 call-site value. This is necessary to, for
example, correctly process exceptions thrown from within an "unexpected"
execption handler (see SingleSource/Regression/C++/EH/expection_spec_test.cpp).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97757 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 22:07:46 +00:00
Bob Wilson
436e6e7b5c
pr6478: The frame pointer spill frame index is only defined when there is a
...
frame pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97755 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 21:42:36 +00:00
Evan Cheng
c46e293e94
Run machine licm before machine cse to avoid messing up licm opportunities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97752 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 21:28:09 +00:00
Evan Cheng
a5f32cb3d3
Avoid cse load instructions unless they are known to be invariant loads.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 21:18:08 +00:00
Bob Wilson
bbf39b0fd9
pr6480: Don't try producing ld/st-multiple instructions when the address is
...
an undef value. This is only going to come up for bugpoint-reduced tests --
correct programs will not access memory at undefined addresses -- so it's not
worth the effort of doing anything more aggressive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97745 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 21:04:38 +00:00
Erick Tryzelaar
d4076cfc83
Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.
...
We need this so can not bake DESTDIR into the O'Caml symlinks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97743 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 20:56:19 +00:00
Jakob Stoklund Olesen
3cfe01072c
Fix the remaining MUL8 and DIV8 to define AX instead of AL,AH.
...
These instructions technically define AL,AH, but a trick in X86ISelDAGToDAG
reads AX in order to avoid reading AH with a REX instruction.
Fix PR6489.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97742 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 20:42:07 +00:00
Dan Gohman
0ef701e6ae
Fix recognition of 16-bit bswap for C front-ends which emit the
...
clobber registers in a different order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97741 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 19:58:08 +00:00
Chris Lattner
bfcc8e0a66
not committing what you test = bad.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 19:54:45 +00:00
Chris Lattner
225d4ca8ab
make gep matching in fastisel match the base of the gep as a
...
register if it isn't possible to match the indexes *and* the base.
This fixes some fast isel rejects of load instructions on oggenc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97739 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 19:48:19 +00:00
Chris Lattner
c19ae9d91d
add a statistic for # times fastisel fails.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97738 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 19:46:56 +00:00
Jeffrey Yasskin
39c75f2e90
Fix PR6360. It's easy for a stub's address to escape to user code, so we can't
...
just count references to it from JIT output to decide when to destroy it. This
patch waits to destroy the JIT's memory of a stub until the Function it refers
to is destroyed. External function stubs and GVIndirectSyms aren't destroyed
until the JIT itself is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97737 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 19:45:09 +00:00
Dan Gohman
ba72b0c4e1
Fix a typo Duncan noticed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97735 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 19:11:28 +00:00
Johnny Chen
0635fc5c27
Added 32-bit Thumb instructions for Preload Data (PLD, PLDW) and Preload
...
Instruction (PLI) for disassembly only.
According to A8.6.120 PLI (immediate, literal), for example, different
instructions are generated for "pli [pc, #0 ]" and "pli [pc, #-0"]. The
disassembler solves it by mapping -0 (negative zero) to -1, -1 to -2, ..., etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97731 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 17:40:44 +00:00
Nick Lewycky
5bf7f88ea2
Make the 'icmp pred trunc(ext(X)), CST --> icmp pred X, ext(trunc(CST))'
...
transformation much more careful. Truncating binary '01' to '1' sounds like it's
safe until you realize that it switched from positive to negative under a signed
interpretation, and that depends on the icmp predicate.
Also a few miscellaneous cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97721 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 06:54:10 +00:00
Jeffrey Yasskin
e57898ce55
Fix PR5291, in which a SmallPtrSet iterator was held across an insertion into
...
the set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97720 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 06:50:01 +00:00
Evan Cheng
9763f709e2
Rename -machine-cse to -enable-machine-cse.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97713 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 02:08:04 +00:00
Chris Lattner
97d853451e
add a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97709 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 01:43:43 +00:00
Evan Cheng
b3958e8032
Look ahead a bit to determine if a physical register def that is not marked dead is really alive. This is necessary to catch a lot of common cse opportunities for targets like x86.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97706 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 01:33:55 +00:00