Anton Korobeynikov
9df3acf486
Honour subreg machine operands during asmprinting
...
llvm-svn: 86303
2009-11-06 23:45:15 +00:00
Bob Wilson
d95ccd6c4d
Print VMOV (immediate) operands as hexadecimal values. Apple's assembler
...
will not accept negative values for these. LLVM's default operand printing
sign extends values, so that valid unsigned values appear as negative
immediates. Print all VMOV immediate operands as hex values to resolve this.
Radar 7372576.
llvm-svn: 86301
2009-11-06 23:33:28 +00:00
Chris Lattner
eb690feaef
Fix a bug where we'd call SplitBlockPredecessors with a pred in the
...
set only once even if it has multiple edges to BB.
llvm-svn: 86299
2009-11-06 23:19:58 +00:00
Bob Wilson
db42ca663b
Fix a broken test.
...
llvm-svn: 86298
2009-11-06 23:06:42 +00:00
Bob Wilson
b29e155c53
Fix comment typos.
...
llvm-svn: 86295
2009-11-06 22:38:38 +00:00
Evan Cheng
408aa56fb5
Remove ARMPCLabelIndex from ARMISelLowering. Use ARMFunctionInfo::createConstPoolEntryUId() instead.
...
llvm-svn: 86294
2009-11-06 22:24:13 +00:00
Victor Hernandez
ce99780980
CallInst::CreateMalloc() and CallInst::CreateFree() need to create calls with correct calling convention
...
llvm-svn: 86290
2009-11-06 21:43:21 +00:00
Eli Friedman
a70917b2f4
Remove function left over from other jump threading cleanup.
...
llvm-svn: 86289
2009-11-06 21:24:57 +00:00
Gabor Greif
445737df6a
fix typo
...
llvm-svn: 86281
2009-11-06 20:10:46 +00:00
Chris Lattner
a8b9ce3f07
Fix a problem discovered on self host.
...
llvm-svn: 86278
2009-11-06 19:21:48 +00:00
Chris Lattner
d91a7960bf
remove more code subsumed by r86264
...
llvm-svn: 86270
2009-11-06 18:24:32 +00:00
Devang Patel
33e0c99d67
Tolerate invalid derived type.
...
llvm-svn: 86269
2009-11-06 18:24:05 +00:00
Chris Lattner
899ef22acb
eliminate some more code subsumed by r86264
...
llvm-svn: 86267
2009-11-06 18:22:54 +00:00
Chris Lattner
2f6184f6aa
remove now redundant code, r86264 handles this case.
...
llvm-svn: 86266
2009-11-06 18:20:58 +00:00
Chris Lattner
68d2417e05
Extend jump threading to support much more general threading
...
predicates. This allows us to jump thread things like:
_ZN12StringSwitchI5ColorE4CaseILj7EEERS1_RAT__KcRKS0_.exit119:
%tmp1.i24166 = phi i8 [ 1, %bb5.i117 ], [ %tmp1.i24165, %_Z....exit ], [ %tmp1.i24165, %bb4.i114 ]
%toBoolnot.i87 = icmp eq i8 %tmp1.i24166, 0 ; <i1> [#uses=1]
%tmp4.i90 = icmp eq i32 %tmp2.i, 6 ; <i1> [#uses=1]
%or.cond173 = and i1 %toBoolnot.i87, %tmp4.i90 ; <i1> [#uses=1]
br i1 %or.cond173, label %bb4.i96, label %_ZN12...
Where it is "obvious" that when coming from %bb5.i117 that the 'and' is always
false. This triggers a surprisingly high number of times in the testsuite,
and gets us closer to generating good code for doug's strswitch testcase.
This also make a bunch of other code in jump threading redundant, I'll rip
out in the next patch. This survived an enable-checking llvm-gcc bootstrap.
llvm-svn: 86264
2009-11-06 18:15:14 +00:00
Dan Gohman
0080ee2d91
Use WriteAsOperand to print GlobalAddress MachineOperands. This
...
prints them with the leading '@'.
llvm-svn: 86261
2009-11-06 18:03:10 +00:00
Devang Patel
cc11371b77
Do not bother to emit debug info for nameless global variable.
...
llvm-svn: 86259
2009-11-06 17:58:12 +00:00
Daniel Dunbar
ad36e8aceb
Pass StringRef by value.
...
llvm-svn: 86251
2009-11-06 10:58:06 +00:00
Chris Lattner
81f1b31c96
clang++ points out that this is pointless.
...
llvm-svn: 86239
2009-11-06 06:33:01 +00:00
Chris Lattner
8c12bb8cd7
remove some more Context arguments.
...
llvm-svn: 86235
2009-11-06 05:59:53 +00:00
Chris Lattner
46b5c642b9
remove a bunch of extraneous LLVMContext arguments
...
from various APIs, addressing PR5325.
llvm-svn: 86231
2009-11-06 04:27:31 +00:00
Daniel Dunbar
529f913f55
NewNighlytTest: Fix timestamp format to actually make sense (it was missing the hour).
...
llvm-svn: 86229
2009-11-06 04:12:13 +00:00
Daniel Dunbar
04b3960bfe
NewNightlyTest: Add -noclean option, which doesn't run 'make clean' before building LLVM (for testing).
...
Also, switch to always running 'make clean' in the test-suite directories.
llvm-svn: 86228
2009-11-06 04:12:07 +00:00
Daniel Dunbar
9e0febb2c7
NewNightlyTest: Unbreak passing the build directory via a positional argument.
...
llvm-svn: 86227
2009-11-06 04:12:02 +00:00
Daniel Dunbar
545ffe6fc1
NewNightlyTest: Add -llvmgccdir as alternative to environment variable.
...
llvm-svn: 86226
2009-11-06 04:11:29 +00:00
Victor Hernandez
b9f5899779
Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM
...
llvm-svn: 86213
2009-11-06 01:33:24 +00:00
Devang Patel
06ce6506d2
Do not try to emit debug info entry for dead global variable.
...
llvm-svn: 86212
2009-11-06 01:30:04 +00:00
Dan Gohman
701e4e9b2b
Don't print a redundant tab for inline asm, and do use the new printKill.
...
llvm-svn: 86206
2009-11-06 00:19:43 +00:00
Douglas Gregor
140db51755
Add a bunch of missing "template" keywords to disambiguate dependent template names. GCC eats this ill-formed code, Clang does not. I already filed PR5404 to improve recovery in this case
...
llvm-svn: 86204
2009-11-06 00:12:53 +00:00
Eric Christopher
80f04dc67d
Fix PR5315, original patch by Nicolas Capens!
...
llvm-svn: 86203
2009-11-06 00:11:57 +00:00
Dan Gohman
ee8afcc59d
Factor out the printing of the leading tab into printInlineAsm.
...
llvm-svn: 86199
2009-11-06 00:04:54 +00:00
Dan Gohman
6791639910
Make printImplicitDef and printKill non-virtual, since they don't
...
need to be overridden.
llvm-svn: 86198
2009-11-06 00:04:05 +00:00
Dan Gohman
006f9353e1
Use SUBREG_TO_REG instead of INSERT_SUBREG to model x86-64's
...
implicit zero-extend.
llvm-svn: 86196
2009-11-05 23:53:08 +00:00
Dan Gohman
a1bf0c0acc
Teach LSR to avoid calling SplitCriticalEdge on edges with indirectbr.
...
llvm-svn: 86193
2009-11-05 23:34:59 +00:00
Dan Gohman
98693a3ac2
Update these tests for the new label names.
...
llvm-svn: 86192
2009-11-05 23:31:40 +00:00
Dan Gohman
d53b5cfe3f
Fix the label name generation for address-taken labels to avoid potential
...
problems with name collisions.
llvm-svn: 86189
2009-11-05 23:14:35 +00:00
Douglas Gregor
5632657208
Make a few more LLVM headers parsable as standalone headers.
...
Fix some problems with the hidden copy constructors for
ImmutableMap/ImmutableSet found by Clang++.
llvm-svn: 86186
2009-11-05 23:01:30 +00:00
Douglas Gregor
86a947dde9
Teach lit's SyntaxCheckTest two new tricks:
...
- skip .svn directories
- add a set of excluded filenames so we can easily skip tests
llvm-svn: 86185
2009-11-05 22:58:04 +00:00
Lang Hames
933c541270
Added support for renumbering existing index list elements. Removed some junk from the initial numbering code in runOnMachineFunction.
...
llvm-svn: 86184
2009-11-05 22:20:57 +00:00
Dan Gohman
928068a886
Avoid calling getUniqueExitBlocks from within LoopSimplify, as it depends
...
on loops having dedicated exits, which LoopSimplify can no longer always
guarantee.
llvm-svn: 86181
2009-11-05 21:48:32 +00:00
Dan Gohman
dca7ac335b
LoopDeletion depends on loops having dedicated exits.
...
llvm-svn: 86180
2009-11-05 21:47:04 +00:00
Dan Gohman
1ef784db67
The introduction of indirectbr meant the introduction of
...
unsplittable critical edges, which means the introduction of
loops which cannot be transformed to LoopSimplify form. Fix
LoopSimplify to avoid transforming such loops into invalid
code.
llvm-svn: 86176
2009-11-05 21:14:46 +00:00
Dan Gohman
a83ac2d9e7
Update various Loop optimization passes to cope with the possibility that
...
LoopSimplify form may not be available.
llvm-svn: 86175
2009-11-05 21:11:53 +00:00
David Goodwin
bed7cb6c1d
Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates.
...
llvm-svn: 86172
2009-11-05 21:06:09 +00:00
Dan Gohman
415c64ea3f
Teach LoopUnroll how to bail if LoopSimplify can't give it what it needs.
...
llvm-svn: 86164
2009-11-05 19:44:06 +00:00
Dan Gohman
d9fa1c9c1e
Call getAnalysis<LoopInfo> the normal way, instead of asking passed-in
...
LoopPassManager for it.
llvm-svn: 86163
2009-11-05 19:43:25 +00:00
Dan Gohman
b632705017
InstrTypes.h includes Instruction.h, so it's not necessary to include both.
...
llvm-svn: 86162
2009-11-05 19:42:20 +00:00
Dan Gohman
2267f8aa72
Fix IVUsers to avoid assuming that the loop has a unique backedge.
...
llvm-svn: 86161
2009-11-05 19:41:37 +00:00
Dan Gohman
885c46e387
Delete an unused member variable.
...
llvm-svn: 86160
2009-11-05 19:33:15 +00:00
Dan Gohman
e3a1706e33
Factor out the predicate code for loopsimplify form exit blocks into
...
a separate helper function.
llvm-svn: 86159
2009-11-05 19:21:41 +00:00