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