Anders Carlsson
8630b5b09b
More cleanup and simplification of the record layout builder.
...
llvm-svn: 98208
2010-03-11 00:15:35 +00:00
Jakob Stoklund Olesen
7bbe14337b
VirtRegRewriter spring cleaning. No functional change.
...
Move methods out of line and M-x whitespace-cleanup.
Promote common method arguments to member variables.
llvm-svn: 98207
2010-03-11 00:11:33 +00:00
John McCall
ea8d8bb718
Support PPC-32 DWARF EH intrinisics. Thanks to rdivacky for his assistance.
...
llvm-svn: 98206
2010-03-11 00:10:12 +00:00
Chris Lattner
963b233f2c
Work around a bug in the openbsd assembler on i386,
...
which doesn't support .quad correctly because it is
"really really old". PR6528.
Yet another reason the mc assembler should take over ;-)
llvm-svn: 98205
2010-03-11 00:06:19 +00:00
Chris Lattner
4d94109903
set alignment on static locals properly, patch by Arnaud de Grandmaison!
...
llvm-svn: 98204
2010-03-10 23:59:59 +00:00
Chris Lattner
4ec0b670d5
fix PR6533 by updating the br(xor) code to remember the case
...
when it looked past a trunc.
llvm-svn: 98203
2010-03-10 23:46:44 +00:00
Dale Johannesen
29108f0b6c
Cosmetic: lengthen names and improve comments.
...
llvm-svn: 98202
2010-03-10 23:37:24 +00:00
Bob Wilson
c4ceb1e2f8
Fix an obvious typo in an assert.
...
Patch by Sean Callanan.
llvm-svn: 98200
2010-03-10 22:38:45 +00:00
Bill Wendling
a810bdfcca
Add a bit along with the MCSymbols stored in the MachineModuleInfo maps that
...
indicates that an MCSymbol is external or not. (It's true if it's external.)
This will be used to specify the correct information to add to non-lazy
pointers. That will be explained further when this bit is used.
llvm-svn: 98199
2010-03-10 22:34:10 +00:00
Anders Carlsson
0d0b588fb2
Get rid of the LayoutBaseNonVirtually; it was used to lay out a base either as a non-virtual base or a virtual base.
...
llvm-svn: 98198
2010-03-10 22:26:24 +00:00
Anders Carlsson
09ffa32b92
More shuffling.
...
llvm-svn: 98197
2010-03-10 22:21:28 +00:00
Anders Carlsson
f08e681ba8
Cleanups, no functionality change yet.
...
llvm-svn: 98196
2010-03-10 22:16:06 +00:00
Dale Johannesen
49de0607a8
Progress towards shepherding debug info through SelectionDAG.
...
No functional effect yet. This is still evolving and should
not be viewed as final.
llvm-svn: 98195
2010-03-10 22:13:47 +00:00
Chris Lattner
1f6689a8ba
move PR6576 here.
...
llvm-svn: 98194
2010-03-10 21:42:42 +00:00
Chris Lattner
0c48de0d62
add DESTDIR support for TOOLALIAS, for PR6557, patch by
...
Matthias Klose!
llvm-svn: 98193
2010-03-10 21:27:53 +00:00
Chris Lattner
93f0a7dda1
add DESTDIR support for clang headers, PR6556.
...
Patch by Matthias Klose!
llvm-svn: 98192
2010-03-10 21:26:01 +00:00
Anders Carlsson
423406f335
Fix calculation of whether a member function needs a thunk in construction vtables.
...
llvm-svn: 98191
2010-03-10 21:25:37 +00:00
Fariborz Jahanian
a4a925febb
Change the 'super' messaging API in the rewriter.
...
Fixes radar 7738452.
llvm-svn: 98190
2010-03-10 21:17:41 +00:00
John McCall
c9d4a84c2a
Suppress the tag when printing an ElaboratedType if the language options
...
claim this is C. We don't make ElaboratedTypes in C, but sometimes
the language options during pretty-print lie to us.
The rewriter should really be fixed to not rely on how types are pretty-printed,
though.
llvm-svn: 98189
2010-03-10 21:05:46 +00:00
Dan Gohman
703b12d62f
Fix another bitwidth calculation to handle vector types; based on a
...
patch by Micah Villmow for PR6572.
llvm-svn: 98188
2010-03-10 21:04:53 +00:00
Daniel Dunbar
dc765e9f03
MC/Mach-O: Use the MCAssembler symbol map instead of reconstructing.
...
llvm-svn: 98187
2010-03-10 20:58:31 +00:00
Daniel Dunbar
6eab721011
MC: Move the backend section and symbol data maps to MCAssembler.
...
llvm-svn: 98186
2010-03-10 20:58:29 +00:00
Daniel Dunbar
bf801a559a
Remove unneeded declarations.
...
llvm-svn: 98185
2010-03-10 20:58:25 +00:00
Jim Grosbach
f0a7e8e77d
Make sure the LR gets pushed in functions that use vaargs. This fixes
...
400.perlbench for the nightly tests.
llvm-svn: 98183
2010-03-10 20:01:30 +00:00
Jim Grosbach
77f781405d
comment why we use custom epilogue for t1 functions using vaargs.
...
llvm-svn: 98182
2010-03-10 19:59:47 +00:00
Dale Johannesen
e9b361b2e6
Fix another place where DEBUG_VALUE affected codegen.
...
llvm-svn: 98181
2010-03-10 19:57:56 +00:00
Anders Carlsson
115b4756b5
We were mistakenly marking morally virtual bases as being uninteresting. Fix this.
...
llvm-svn: 98180
2010-03-10 19:39:11 +00:00
Dan Gohman
2734ebd37f
Add a DominatorTree argument to isLCSSA so that it doesn't have to
...
compute a set of reachable blocks for itself each time it is called, which
is fairly frequently.
llvm-svn: 98179
2010-03-10 19:38:49 +00:00
Dan Gohman
474e488c06
Constant-fold GEP-of-GEP into a single GEP.
...
llvm-svn: 98178
2010-03-10 19:31:51 +00:00
Anders Carlsson
703a08605f
Ignore non-interesting bases when emitting construction vtables.
...
llvm-svn: 98177
2010-03-10 19:15:26 +00:00
Ted Kremenek
1794ec4a30
Simplify assertion.
...
llvm-svn: 98176
2010-03-10 19:09:37 +00:00
Ted Kremenek
fe697ebaaf
Remove '#if 0' code. Lazy compound values have proven their worth.
...
llvm-svn: 98175
2010-03-10 19:09:34 +00:00
Ted Kremenek
1a0c4d5900
Fix -Wsign-compare warnings reported by clang++.
...
llvm-svn: 98174
2010-03-10 19:09:31 +00:00
Dan Gohman
fc7a25dc36
Fix whitespace.
...
llvm-svn: 98173
2010-03-10 19:00:54 +00:00
Johnny Chen
9a3e2398ae
Factored out the disassembly printing of CPS option, MSR mask, and Negative Zero
...
operands into their own PrintMethod, in order not to pollute the printOperand()
impl with disassembly only Imm modifiers.
llvm-svn: 98172
2010-03-10 18:59:38 +00:00
Tobias Grosser
ab19e1e9b5
Fix make check with cmake/lit
...
PR6540: Set the newly introduced variables ENABLE_SHARED and
SHLIBPATH_VAR in lit.site.cfg not only in the autoconf build, but also
in a cmake one.
llvm-svn: 98171
2010-03-10 18:41:59 +00:00
Ted Kremenek
4a26524050
Fix -Wsign-compare warning reported by clang++.
...
llvm-svn: 98170
2010-03-10 18:22:38 +00:00
Richard Osborne
66839831a7
The backend now makes a reasonable job of targeting lmul / macc
...
llvm-svn: 98169
2010-03-10 18:14:47 +00:00
Richard Osborne
54a2c32670
Handle MVT::i64 type in DAG combine for ISD::ADD. Fold 64 bit
...
expression add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if all
operands are zero extended.
llvm-svn: 98168
2010-03-10 18:12:27 +00:00
Daniel Dunbar
7e3283c055
Remove unneeded includes.
...
llvm-svn: 98167
2010-03-10 17:56:05 +00:00
Bob Wilson
dfebf1ffac
Testcase for pr6552. I changed the code to use "ip" instead of "fp" because
...
the "fp" register name is not valid on Darwin, and the "ip" register name was
broken for all ARM targets.
llvm-svn: 98166
2010-03-10 17:54:11 +00:00
Richard Osborne
c99b9b2193
Fix checking of intermediates having one use in isADDADDMUL
...
llvm-svn: 98164
2010-03-10 17:16:29 +00:00
Richard Osborne
5a457de4b2
Extract recognition of patterns such as add(add(mul(x,y),a),b)
...
into a seperate function.
llvm-svn: 98162
2010-03-10 17:10:35 +00:00
Ted Kremenek
9e92d3f99d
Remove the subregion map cache. It is no longer used.
...
llvm-svn: 98161
2010-03-10 16:38:44 +00:00
Ted Kremenek
2ce82b2323
Fix stale comment.
...
llvm-svn: 98160
2010-03-10 16:38:41 +00:00
Ted Kremenek
ddce4a3d0f
Really apply (unnoticed weird git-svn merge conflict in 98144): Refactor RegionStore::RemoveDeadBindings to use the same core cluster analysis algorithm as RegionStore::InvalidateRegions().
...
Beyond simplifying the algorithm significantly, we no longer
need to build subregion maps in RemoveDeadBindings(). This
and other changes cause a significant speedup: the time to
analyze sqlite3.c (single core) drops by 14%.
llvm-svn: 98159
2010-03-10 16:32:56 +00:00
Richard Osborne
11ec7ee125
Fix thinko.
...
llvm-svn: 98158
2010-03-10 16:27:11 +00:00
Richard Osborne
1a396d53ed
Fold add(add(mul(x,y),a),b) -> lmul(x,y,a,b) if the intermediate
...
results are unused elsewhere.
llvm-svn: 98157
2010-03-10 16:19:31 +00:00
Benjamin Kramer
74ca599a73
Remove duplicated code. No functionality change.
...
llvm-svn: 98156
2010-03-10 16:04:20 +00:00
Dale Johannesen
8340cc0d6c
Fix a bug in DEBUG_VALUE handling Devang ran into.
...
I'll get this loop right yet.
llvm-svn: 98155
2010-03-10 15:06:26 +00:00