OSDN Git Service
Daniel Dunbar [Sat, 18 Jul 2009 08:07:13 +0000 (08:07 +0000)]
Switch lli back to using allocate-gvs-with-code behavior.
- Otherwise we get two regressions in llvm-test for applications which run out
of space.
- Once the JIT memory manager is improved, this can be switched back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76291
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 18 Jul 2009 06:34:42 +0000 (06:34 +0000)]
Replace intersectWith with maximalIntersectWith. The latter guarantees that
all values belonging to the intersection will belong to the resulting range.
The former was inconsistent about that point (either way is fine, just pick
one.) This is part of PR4545.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76289
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Sat, 18 Jul 2009 06:08:49 +0000 (06:08 +0000)]
Unbreak unittests build.
- Reid, please check, I'm not sure if this is what was intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76286
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 18 Jul 2009 05:26:06 +0000 (05:26 +0000)]
Fix the inline cost calculation to take into account instructions
which cannot be folded even if they have constant operands. Significantly
helps if_spppsubr.c attached to PR4573.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76285
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 18 Jul 2009 05:12:58 +0000 (05:12 +0000)]
Add line breaks to make the debug output a bit more readable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76284
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Jul 2009 04:52:23 +0000 (04:52 +0000)]
Catch more coalescing opportunities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76282
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Jul 2009 02:10:10 +0000 (02:10 +0000)]
Enable cross register class coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76281
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 18 Jul 2009 01:49:22 +0000 (01:49 +0000)]
Make GetElementPtr ConstantExprs default to having no pointer overflow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76280
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 18 Jul 2009 01:43:53 +0000 (01:43 +0000)]
Revert 76177 for now. It's messing up ARM asm printing. Also this significant debate about its efficiency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76279
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 18 Jul 2009 00:58:38 +0000 (00:58 +0000)]
Fix this accidentally inverted condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76278
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Sat, 18 Jul 2009 00:42:18 +0000 (00:42 +0000)]
Add EngineBuilder to ExecutionEngine in favor of the five optional argument EE::create().
Also a test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76276
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 23:55:56 +0000 (23:55 +0000)]
Convert more code to use Operator instead of explicitly handling both
ConstantExpr and Instruction. This involves duplicating some code
between GetElementPtrInst and GEPOperator, but it's not a lot.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76265
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 17 Jul 2009 23:50:26 +0000 (23:50 +0000)]
Update CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76264
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 22:51:20 +0000 (22:51 +0000)]
llvm-mc: Default -triple to LLVM_HOSTTRIPLE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76260
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Jul 2009 22:42:51 +0000 (22:42 +0000)]
Fix pr4552. Stack slot coloring with register must take care not to generate illegal ams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76258
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 22:38:58 +0000 (22:38 +0000)]
llvm-mc: Add -triple, and start fetching the target asm printer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76257
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 22:35:35 +0000 (22:35 +0000)]
Add llvm::InitializeAllTargetInfos and llvm::InitializeAllAsmParsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76253
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 22:25:10 +0000 (22:25 +0000)]
Make BasicAliasAnalysis and Value::getUnderlyingObject use
GEPOperator's hasNoPointer0verflow(), and make a few places in instcombine
that create GEPs that may overflow clear the NoOverflow value. Among
other things, this partially addresses PR2831.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76252
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 22:16:21 +0000 (22:16 +0000)]
Fix some typos in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76249
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Jul 2009 22:13:25 +0000 (22:13 +0000)]
Fix x86 inline ams 'q' constraint support. In 32-bit mode, it's just like 'Q', i.e. EAX, EDX, ECX, EBX. In 64-bit mode, it just means all the i64r registers. Yeah, that makes sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76248
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 22:08:54 +0000 (22:08 +0000)]
Tweak svn:ignore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 22:00:23 +0000 (22:00 +0000)]
remove AsmPrinter::findGlobalValue, just use Value::stripPointerCasts instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76246
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 21:33:58 +0000 (21:33 +0000)]
Add a GEPOperator class, and move the hasNoPointerOverflow
accessors into it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76245
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Fri, 17 Jul 2009 21:33:35 +0000 (21:33 +0000)]
Regenerate configure for ddunbar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76244
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 21:26:27 +0000 (21:26 +0000)]
Reenable asmparser dependency generation, now with improved Perl foo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76243
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 21:22:20 +0000 (21:22 +0000)]
Disable llvm-config magic for AsmParser, it is isn't right & is breaking the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76242
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 21:14:28 +0000 (21:14 +0000)]
end sentence in period, draw attention to the fact that you should
only do this if you are a crazy russian hacker. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76241
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 21:11:24 +0000 (21:11 +0000)]
we beat exceptions out of lib/system a long time ago.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76240
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Jul 2009 21:06:58 +0000 (21:06 +0000)]
Simplify some more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76239
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 21:03:54 +0000 (21:03 +0000)]
Commit this change, to accompany r76232.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 21:00:50 +0000 (21:00 +0000)]
Use more terse and precise linkage checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76237
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 20:58:59 +0000 (20:58 +0000)]
Eliminate yet another copy of getOpcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76236
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 20:56:18 +0000 (20:56 +0000)]
Fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76235
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 20:53:51 +0000 (20:53 +0000)]
these two pieces of code are the same because we always
emit the EHFrame label next to the section_eh_frame and
eh_frame_common labels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76234
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 20:51:47 +0000 (20:51 +0000)]
Fix a typo that Duncan spotted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76233
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 20:47:02 +0000 (20:47 +0000)]
Add a new Operator class, for handling Instructions and ConstantExprs
in a convenient manner, factoring out some common code from
InstructionCombining and ValueTracking. Move the contents of
BinaryOperators.h into Operator.h and use Operator to generalize them
to support ConstantExprs as well as Instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 20:46:40 +0000 (20:46 +0000)]
Untangle a snarl that I discovered when updating the mangler,
starting in getCurrentFunctionEHName. Among other problems,
we would try to privative a "foo.eh" label, but end up emitting
the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really
bad, and the linker has always tolerated these labels existing.
For now, just emit them as _foo.eh.
This patch also fixes problems with ".eh" labels on unnamed
functions and eliminates two strangely defined TargetAsmInfo
hooks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76231
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 20:42:00 +0000 (20:42 +0000)]
Sketch support for target specific assembly parser.
- Not fully enabled yet, need a configure regeneration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76230
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Fri, 17 Jul 2009 20:38:17 +0000 (20:38 +0000)]
Trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76229
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 20:32:07 +0000 (20:32 +0000)]
fix include guard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76228
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Jul 2009 19:43:40 +0000 (19:43 +0000)]
Simplify the coalescer (finally!) by making LiveIntervals::processImplicitDefs a little more aggressive and teaching liveintervals to make use of isUndef marker on MachineOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76223
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 19:23:21 +0000 (19:23 +0000)]
GetElementPtr instructions default to having no overflow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76222
91177308-0d34-0410-b5e6-
96231b3b80d8
Xerxes Ranby [Fri, 17 Jul 2009 19:22:41 +0000 (19:22 +0000)]
Implement cmake LLVM_MULTITHREADED gcc atomic builtin checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76221
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 17 Jul 2009 19:05:13 +0000 (19:05 +0000)]
Fix a crash in SROA. The FunctionPass::doInitialization method was never
being called so that Context was never initialized. I'm not sure if this
is the right fix but at least it keeps opt from crashing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76220
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 19:01:15 +0000 (19:01 +0000)]
Define a no-pointer-overflow flag for GetElementPtr instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76218
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 18:59:51 +0000 (18:59 +0000)]
Add new classes for working with optional optimization data
for binary operators Add, Sub, Mul, and UDiv.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76217
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 17 Jul 2009 18:57:16 +0000 (18:57 +0000)]
Fix copy & paste errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76216
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 18:56:23 +0000 (18:56 +0000)]
Add a method to clear optional optimization information from a Value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76215
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 17 Jul 2009 18:55:30 +0000 (18:55 +0000)]
Add missed attributes to C bindings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76214
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 18:55:26 +0000 (18:55 +0000)]
Start generating AsmMatcher.inc for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76213
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 18:51:11 +0000 (18:51 +0000)]
tblgen/AsmMatcher: Emit simple matcher for register names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76212
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Fri, 17 Jul 2009 18:49:39 +0000 (18:49 +0000)]
r76102 added the MachineCodeEmitter::processDebugLoc call and called it from
the X86 Emitter. This patch extends that to the rest of the targets that can
write to a MachineCodeEmitter: ARM, Alpha, and PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76211
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 18:33:52 +0000 (18:33 +0000)]
Fix compile warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76210
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 17 Jul 2009 18:28:59 +0000 (18:28 +0000)]
Add missed return
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76209
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 18:09:39 +0000 (18:09 +0000)]
opt: Add -std-link-opts argument, matches llvm-ld's optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76199
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 17 Jul 2009 18:07:26 +0000 (18:07 +0000)]
Add support for naked functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 Jul 2009 18:05:55 +0000 (18:05 +0000)]
rename test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76197
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Fri, 17 Jul 2009 18:02:30 +0000 (18:02 +0000)]
revert one of the loops to use indicies over iterators because there are vector insertions inside the loop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76195
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 17:16:59 +0000 (17:16 +0000)]
Add a SubclassOptionalData field to Value. See the doxygen comment for
details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76189
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 16:41:57 +0000 (16:41 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76186
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 16:20:23 +0000 (16:20 +0000)]
Initialize another Context, in the hopes of unbreaking CBE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76184
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 16:12:36 +0000 (16:12 +0000)]
Fix an apparent typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76183
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Fri, 17 Jul 2009 15:55:53 +0000 (15:55 +0000)]
Make DOUT an lvalue in release mode so that developers may use DOUT in
their code in release mode. This helps to debug release-mode problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76182
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 15:50:49 +0000 (15:50 +0000)]
Provide slightly more refined error message when trying to lookup a target, and
none are registered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76181
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Fri, 17 Jul 2009 14:24:46 +0000 (14:24 +0000)]
Add logic to align instruction operands to columns for pretty-printing.
No target uses this currently. This patch only adds the mechanism so
that local installations can choose to enable this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76177
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 17 Jul 2009 12:25:14 +0000 (12:25 +0000)]
Avoid a compiler warning when assertions are turned off.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76176
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 17 Jul 2009 11:44:20 +0000 (11:44 +0000)]
Testcase for PR4214.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76174
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 08:38:29 +0000 (08:38 +0000)]
Documentation clarifications for isSafeToSpeculativelyExecute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76168
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 07:34:23 +0000 (07:34 +0000)]
Oops, accidentally set a legal operation to expand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76165
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 07:28:06 +0000 (07:28 +0000)]
Expand misc operations from test/CodeGen/Generic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76163
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 07:16:38 +0000 (07:16 +0000)]
Handle void in XCoreTargetLowering::isLegalAddressingMode. Triggers in
test/CodeGen/Generic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76162
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 07:03:00 +0000 (07:03 +0000)]
Remove some unnecessary expansion markings. Add a few expansion
markings that show up in test/CodeGen/Generic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76160
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 06:36:24 +0000 (06:36 +0000)]
Add operation expansion/promotion for a bunch of operations, many of
which show up in test/CodeGen/Generic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76158
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Fri, 17 Jul 2009 06:32:10 +0000 (06:32 +0000)]
Add broken gcc from PR4532.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76157
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Jul 2009 05:43:12 +0000 (05:43 +0000)]
Fix tSUBspi operand definition. It reads and writes sp, which is a high register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76155
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 05:23:03 +0000 (05:23 +0000)]
Set an operation expansion, noticed while running
llc over test/CodeGen/Generic with -march=alpha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76154
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 05:16:04 +0000 (05:16 +0000)]
Make promotion in operation legalization for SETCC work correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76153
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 04:28:42 +0000 (04:28 +0000)]
Replace isTrapping with a new, similar method called
isSafeToSpeculativelyExecute. The new method is a bit closer to what
the callers actually care about in that it rejects more things callers
don't want. It also adds more precise handling for integer
division, and unifies code for analyzing the legality of a speculative
load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76150
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 04:07:24 +0000 (04:07 +0000)]
One more operation expansion for MIPS, from test/CodeGen/Generic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76149
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 03:43:21 +0000 (03:43 +0000)]
Make sure CWriter's Context get's initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76147
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Fri, 17 Jul 2009 02:28:12 +0000 (02:28 +0000)]
Expand a bunch of illegal operations on MIPS (found by
inspection and running over CodeGen/Generic).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76146
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 17 Jul 2009 02:19:26 +0000 (02:19 +0000)]
Fix 'may be used uninitialized' warning.
- Anton, please review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76144
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 01:07:45 +0000 (01:07 +0000)]
Add the private keyword to the polygen grammar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76135
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 17 Jul 2009 01:06:53 +0000 (01:06 +0000)]
Add the private keyword to the VIM syntax highlighting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76134
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 17 Jul 2009 00:32:06 +0000 (00:32 +0000)]
Fix my brain cramp by inverting the assertion condition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76131
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 16 Jul 2009 23:58:14 +0000 (23:58 +0000)]
Fix "no newline at end of file" warning from gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76127
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 16 Jul 2009 23:44:30 +0000 (23:44 +0000)]
Privatize the MDNode uniquing table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76126
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 23:26:06 +0000 (23:26 +0000)]
Emit cross regclass register moves for thumb2.
Minor code duplication cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76124
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 23:02:46 +0000 (23:02 +0000)]
Disable this assert for now, it is firing on an llvm-gcc bootstrap. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76123
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 16 Jul 2009 22:59:17 +0000 (22:59 +0000)]
Add new flags '-test-cflags' and '-test-cxxflags' to pass in flags directly to the llvm testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76122
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 16 Jul 2009 22:53:10 +0000 (22:53 +0000)]
GV with ghost linkage (module being lazily streamed in in JIT lazy compilation mode) do not require extra load from stub. This fixes ExecutionEngine/2005-12-02-TailCallBug.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76121
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 16 Jul 2009 22:34:45 +0000 (22:34 +0000)]
Assume an inline asm might be a call, so we get
stack alignment right when it is. This is not
ideal but conservatively correct. Adjust a test
to compensate for changed stack offset value.
gcc.apple/asm-block-57.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76120
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 16 Jul 2009 22:24:20 +0000 (22:24 +0000)]
Emit line numbers in asm comments when available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76117
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 16 Jul 2009 22:11:26 +0000 (22:11 +0000)]
Privatize the MDString uniquing table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76113
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 22:08:25 +0000 (22:08 +0000)]
Fix inverted preprocessor conditional.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76111
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 22:06:22 +0000 (22:06 +0000)]
Fix compiler warning (for -Asserts).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76110
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 16 Jul 2009 21:24:13 +0000 (21:24 +0000)]
Silence warning in Linux builds:
X86InstrInfo.cpp:2272: warning: suggest explicit braces to avoid ambiguous 'else'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76105
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 21:17:53 +0000 (21:17 +0000)]
Add raw_null_ostream and llvm::nulls(), a raw_ostream that discards output.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76103
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Thu, 16 Jul 2009 21:07:26 +0000 (21:07 +0000)]
Add line numbers to OProfile. To do this, I added a processDebugLoc()
call to the MachineCodeEmitter interface and made copying the start
line of a function not conditional on whether we're emitting Dwarf
debug information. I'll propagate the processDebugLoc() calls to the
non-X86 targets in a followup patch.
In the long run, it'll probably be better to gather this information
through the DwarfWriter, but the DwarfWriter currently depends on the
AsmPrinter and TargetAsmInfo, and fixing that would be out of the way
for this patch.
There's a bug in OProfile 0.9.4 that makes it ignore line numbers for
addresses above 4G, and a patch fixing it at
http://thread.gmane.org/gmane.linux.oprofile/7634
Sample output:
$ sudo opcontrol --reset; sudo opcontrol --start-daemon; sudo opcontrol --start; `pwd`/Debug/bin/lli fib.bc; sudo opcontrol --stop
Signalling daemon... done
Profiler running.
fib(40) ==
165580141
Stopping profiling.
$ opreport -g -d -l `pwd`/Debug/bin/lli|head -60
Overflow stats not available
CPU: Core 2, speed 1998 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
vma samples % linenr info image name symbol name
00007f67a30370b0 25489 61.2554 fib.c:24 10946.jo fib_left
00007f67a30370b0 1634 6.4106 fib.c:24
00007f67a30370b1 83 0.3256 fib.c:24
00007f67a30370b9 1997 7.8348 fib.c:24
00007f67a30370c6 2080 8.1604 fib.c:27
00007f67a30370c8 988 3.8762 fib.c:27
00007f67a30370cd 1315 5.1591 fib.c:27
00007f67a30370cf 251 0.9847 fib.c:27
00007f67a30370d3 1191 4.6726 fib.c:27
00007f67a30370d6 975 3.8252 fib.c:27
00007f67a30370db 1010 3.9625 fib.c:27
00007f67a30370dd 242 0.9494 fib.c:27
00007f67a30370e1 2782 10.9145 fib.c:28
00007f67a30370e5 3768 14.7828 fib.c:28
00007f67a30370eb 615 2.4128 (no location information)
00007f67a30370f3 6558 25.7287 (no location information)
00007f67a3037100 15603 37.4973 fib.c:29 10946.jo fib_right
00007f67a3037100 1646 10.5493 fib.c:29
00007f67a3037101 45 0.2884 fib.c:29
00007f67a3037109 2372 15.2022 fib.c:29
00007f67a3037116 2234 14.3178 fib.c:32
00007f67a3037118 612 3.9223 fib.c:32
00007f67a303711d 622 3.9864 fib.c:32
00007f67a303711f 385 2.4675 fib.c:32
00007f67a3037123 404 2.5892 fib.c:32
00007f67a3037126 634 4.0633 fib.c:32
00007f67a303712b 870 5.5759 fib.c:32
00007f67a303712d 62 0.3974 fib.c:32
00007f67a3037131 1848 11.8439 fib.c:33
00007f67a3037135 2840 18.2016 fib.c:33
00007f67a303713a 1 0.0064 fib.c:33
00007f67a303713b 1023 6.5564 (no location information)
00007f67a3037143 5 0.0320 (no location information)
000000000080c1e4 15 0.0360 MachineOperand.h:150 lli llvm::MachineOperand::isReg() const
000000000080c1e4 6 40.0000 MachineOperand.h:150
000000000080c1ec 2 13.3333 MachineOperand.h:150
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76102
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 16 Jul 2009 20:58:34 +0000 (20:58 +0000)]
Teach MachineInstr::isRegTiedToDefOperand() to correctly parse inline asm operands.
The inline asm operands must be parsed from the first flag, you cannot assume
that an immediate operand preceeding a register use operand is the flag.
PowerPC "m" operands are represented as (flag, imm, reg) triples.
isRegTiedToDefOperand() would incorrectly interpret the imm as the flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76101
91177308-0d34-0410-b5e6-
96231b3b80d8