Commit Graph

48813 Commits

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

llvm-svn: 76265
2009-07-17 23:55:56 +00:00
Ted Kremenek
ce3842ae4f Update CMake file.
llvm-svn: 76264
2009-07-17 23:50:26 +00:00
Daniel Dunbar
961c43b2b0 llvm-mc: Default -triple to LLVM_HOSTTRIPLE.
llvm-svn: 76260
2009-07-17 22:51:20 +00:00
Evan Cheng
92fc255bb4 Fix pr4552. Stack slot coloring with register must take care not to generate illegal ams.
llvm-svn: 76258
2009-07-17 22:42:51 +00:00
Daniel Dunbar
ab1316fbaf llvm-mc: Add -triple, and start fetching the target asm printer.
llvm-svn: 76257
2009-07-17 22:38:58 +00:00
Daniel Dunbar
ec0fd7ebe5 Add llvm::InitializeAllTargetInfos and llvm::InitializeAllAsmParsers.
llvm-svn: 76253
2009-07-17 22:35:35 +00:00
Dan Gohman
93cbd452ed 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.

llvm-svn: 76252
2009-07-17 22:25:10 +00:00
Dan Gohman
bda1bacf36 Fix some typos in a comment.
llvm-svn: 76249
2009-07-17 22:16:21 +00:00
Evan Cheng
67ccedff04 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.
llvm-svn: 76248
2009-07-17 22:13:25 +00:00
Chris Lattner
7cf9653432 remove AsmPrinter::findGlobalValue, just use Value::stripPointerCasts instead.
llvm-svn: 76246
2009-07-17 22:00:23 +00:00
Dan Gohman
c639ee66f0 Add a GEPOperator class, and move the hasNoPointerOverflow
accessors into it.

llvm-svn: 76245
2009-07-17 21:33:58 +00:00
Jeffrey Yasskin
bbd55d25d0 Regenerate configure for ddunbar.
llvm-svn: 76244
2009-07-17 21:33:35 +00:00
Daniel Dunbar
ae0aea8293 Reenable asmparser dependency generation, now with improved Perl foo.
llvm-svn: 76243
2009-07-17 21:26:27 +00:00
Daniel Dunbar
15e6f7da16 Disable llvm-config magic for AsmParser, it is isn't right & is breaking the build.
llvm-svn: 76242
2009-07-17 21:22:20 +00:00
Chris Lattner
22beba4992 end sentence in period, draw attention to the fact that you should
only do this if you are a crazy russian hacker. ;-)

llvm-svn: 76241
2009-07-17 21:14:28 +00:00
Chris Lattner
7852f81810 we beat exceptions out of lib/system a long time ago.
llvm-svn: 76240
2009-07-17 21:11:24 +00:00
Evan Cheng
51593b91d9 Simplify some more.
llvm-svn: 76239
2009-07-17 21:06:58 +00:00
Dan Gohman
b8ff7ff3cc Commit this change, to accompany r76232.
llvm-svn: 76238
2009-07-17 21:03:54 +00:00
Chris Lattner
e824b863e5 Use more terse and precise linkage checks.
llvm-svn: 76237
2009-07-17 21:00:50 +00:00
Dan Gohman
16335bfc09 Eliminate yet another copy of getOpcode.
llvm-svn: 76236
2009-07-17 20:58:59 +00:00
Daniel Dunbar
71651f52f2 Fix typo
llvm-svn: 76235
2009-07-17 20:56:18 +00:00
Chris Lattner
b6cede976e 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.

llvm-svn: 76234
2009-07-17 20:53:51 +00:00
Dan Gohman
2ca0f65c30 Fix a typo that Duncan spotted.
llvm-svn: 76233
2009-07-17 20:51:47 +00:00
Dan Gohman
25a722cc45 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.

llvm-svn: 76232
2009-07-17 20:47:02 +00:00
Chris Lattner
ffe0c407be 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.

llvm-svn: 76231
2009-07-17 20:46:40 +00:00
Daniel Dunbar
de011196a4 Sketch support for target specific assembly parser.
- Not fully enabled yet, need a configure regeneration.

llvm-svn: 76230
2009-07-17 20:42:00 +00:00
Mikhail Glushenkov
d44eba5166 Trailing whitespace.
llvm-svn: 76229
2009-07-17 20:38:17 +00:00
Chris Lattner
1cb7dceb60 fix include guard.
llvm-svn: 76228
2009-07-17 20:32:07 +00:00
Evan Cheng
ba5b67f66d Simplify the coalescer (finally!) by making LiveIntervals::processImplicitDefs a little more aggressive and teaching liveintervals to make use of isUndef marker on MachineOperands.
llvm-svn: 76223
2009-07-17 19:43:40 +00:00
Dan Gohman
56e00a404f GetElementPtr instructions default to having no overflow.
llvm-svn: 76222
2009-07-17 19:23:21 +00:00
Xerxes Ranby
d90b36055d Implement cmake LLVM_MULTITHREADED gcc atomic builtin checks.
llvm-svn: 76221
2009-07-17 19:22:41 +00:00
Bob Wilson
7c323a8936 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.

llvm-svn: 76220
2009-07-17 19:05:13 +00:00
Dan Gohman
006b15b943 Define a no-pointer-overflow flag for GetElementPtr instructions.
llvm-svn: 76218
2009-07-17 19:01:15 +00:00
Dan Gohman
9a36c67769 Add new classes for working with optional optimization data
for binary operators Add, Sub, Mul, and UDiv.

llvm-svn: 76217
2009-07-17 18:59:51 +00:00
Anton Korobeynikov
e0aa2053d5 Fix copy & paste errors
llvm-svn: 76216
2009-07-17 18:57:16 +00:00
Dan Gohman
3a0e58549b Add a method to clear optional optimization information from a Value.
llvm-svn: 76215
2009-07-17 18:56:23 +00:00
Anton Korobeynikov
59a1adb87c Add missed attributes to C bindings
llvm-svn: 76214
2009-07-17 18:55:30 +00:00
Daniel Dunbar
cff1fabab5 Start generating AsmMatcher.inc for X86.
llvm-svn: 76213
2009-07-17 18:55:26 +00:00
Daniel Dunbar
d84feb8aa1 tblgen/AsmMatcher: Emit simple matcher for register names.
llvm-svn: 76212
2009-07-17 18:51:11 +00:00
Jeffrey Yasskin
1669f312b5 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.

llvm-svn: 76211
2009-07-17 18:49:39 +00:00
Daniel Dunbar
cfd362eb0e Fix compile warning.
llvm-svn: 76210
2009-07-17 18:33:52 +00:00
Anton Korobeynikov
fbac44c040 Add missed return
llvm-svn: 76209
2009-07-17 18:28:59 +00:00
Daniel Dunbar
d4143bc1d8 opt: Add -std-link-opts argument, matches llvm-ld's optimizations.
llvm-svn: 76199
2009-07-17 18:09:39 +00:00
Anton Korobeynikov
60f7bd3562 Add support for naked functions
llvm-svn: 76198
2009-07-17 18:07:26 +00:00
Chris Lattner
fb1ff2b993 rename test.
llvm-svn: 76197
2009-07-17 18:05:55 +00:00
Bruno Cardoso Lopes
ddd0013bb6 revert one of the loops to use indicies over iterators because there are vector insertions inside the loop
llvm-svn: 76195
2009-07-17 18:02:30 +00:00
Dan Gohman
67f2b7d376 Add a SubclassOptionalData field to Value. See the doxygen comment for
details.

llvm-svn: 76189
2009-07-17 17:16:59 +00:00
Daniel Dunbar
112af1d308 Fix typo.
llvm-svn: 76186
2009-07-17 16:41:57 +00:00
Daniel Dunbar
8ce5e03431 Initialize another Context, in the hopes of unbreaking CBE.
llvm-svn: 76184
2009-07-17 16:20:23 +00:00
Dan Gohman
e2276d0168 Fix an apparent typo.
llvm-svn: 76183
2009-07-17 16:12:36 +00:00