Dan Gohman
205b641954
Change tests from "opt %s" to "opt < %s" so that opt doesn't see the
...
input filename so that opt doesn't print the input filename in the
output so that grep lines in the tests don't unintentionally match
strings in the input filename.
llvm-svn: 81537
2009-09-11 18:01:28 +00:00
Duncan Sands
6fb64b1b17
Fix PR4948 (and a leak): by not destroying the DwarfException
...
object, the timer it creates was not being deleted. Since the
timer belonged to a static timer group, the timer group would
be destroyed on shutdown, and would notice and complain that
not all timers it contained were destroyed.
llvm-svn: 81533
2009-09-11 17:24:29 +00:00
Chris Lattner
ebfcd8d588
turn on -experimental-asm-printer for x86 / AT&T by default.
...
llvm-svn: 81532
2009-09-11 17:07:27 +00:00
Chris Lattner
abca9e3a0d
another random update
...
llvm-svn: 81531
2009-09-11 17:07:01 +00:00
Chris Lattner
444bd61976
reject attempts to take the address of an intrinsic, PR4949.
...
llvm-svn: 81530
2009-09-11 17:05:29 +00:00
Chris Lattner
e8f2153059
fix a bunch of spurious failures for people whose home directory
...
is sabre.
llvm-svn: 81528
2009-09-11 17:02:12 +00:00
Chris Lattner
6e3ee2e578
this test is using invalid "intrinsics".
...
llvm-svn: 81527
2009-09-11 16:49:18 +00:00
Chris Lattner
817a8fc5b0
fix test to not get a moduleid that matches 'br'
...
llvm-svn: 81526
2009-09-11 16:47:41 +00:00
Chris Lattner
951ae07703
default construct MCInst's ctor to 0, which is "PHI" which is invalid for MCInsts.
...
llvm-svn: 81525
2009-09-11 16:33:58 +00:00
Daniel Dunbar
f54dbed77f
... and fix the REQUIRES_RTTI condition.
...
llvm-svn: 81524
2009-09-11 15:47:24 +00:00
Daniel Dunbar
76590ff496
Fix REQUIRES_RTTI while awake.
...
llvm-svn: 81523
2009-09-11 15:45:13 +00:00
Daniel Dunbar
340934be39
Make REQUIRES_RTTI work.
...
llvm-svn: 81522
2009-09-11 15:39:39 +00:00
Owen Anderson
22963ef40a
Eliminate some unnecessary implicit constructors in generated DAG ISel code.
...
Partial fix for PR4946.
llvm-svn: 81518
2009-09-11 09:01:57 +00:00
Andreas Neustifter
13935bc5be
Bugfix. Sorry.
...
llvm-svn: 81517
2009-09-11 08:43:15 +00:00
Andreas Neustifter
9d49ec27fa
Make ProfileEstimator even more robust on general CFGs.
...
llvm-svn: 81516
2009-09-11 08:39:33 +00:00
Chris Lattner
beee27777a
switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring FnStubs and GVStubs.
...
llvm-svn: 81514
2009-09-11 07:03:20 +00:00
Chris Lattner
04be362b0a
Fix a bug I introduced in FnStubs generation, switch GVStubs to be a
...
densemap instead of StringMap to match FnStubs.
llvm-svn: 81513
2009-09-11 06:59:18 +00:00
Chris Lattner
316cce5a0f
change FnStubs from being a StringMap<std::string> to being a much
...
more efficient SmallPtrSet<MCSymbol*>. This eliminates string
craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter.
Codegen is producing stubs in a nondeterminstic order, but it was doing
this before anyway.
llvm-svn: 81511
2009-09-11 06:36:33 +00:00
Chris Lattner
c61e9c130b
printInstruction() no longer prints a \n after itself, do it
...
for the two instruction MOVPC32r sequence.
llvm-svn: 81509
2009-09-11 05:59:55 +00:00
Chris Lattner
0f5802b4d8
reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms of
...
Mangler::getNameWithPrefix. In addition to avoiding some over
quoting, this also is more efficient because it uses smallvector
instead of std::string thrashing.
llvm-svn: 81508
2009-09-11 05:58:44 +00:00
Chris Lattner
5e72c863e0
fix prefix ordering, it's L_foo not _Lfoo
...
llvm-svn: 81506
2009-09-11 05:51:29 +00:00
Chris Lattner
36550f7606
add a new Mangler::getNameWithPrefix API which returns the
...
(uniqued if unnamed) global variable name with the prefix that
it is supposed to get. It doesn't do "mangling" in the sense of
adding quotes and hacking on bad characters.
llvm-svn: 81505
2009-09-11 05:40:42 +00:00
Chris Lattner
6484bead9e
convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallString
...
instead of std::string and Mangler.
llvm-svn: 81503
2009-09-11 04:36:43 +00:00
Chris Lattner
e2cb22eb96
rearrange some code, export a SmallString version of DecorateCygMingName.
...
llvm-svn: 81502
2009-09-11 04:28:13 +00:00
Chris Lattner
1619ca8d56
more typos
...
llvm-svn: 81499
2009-09-11 01:49:31 +00:00
Evan Cheng
c3ef5b0802
Follow up to 81494. When the folded reload is narrowed to a 32-bit load then change the destination register to a 32-bit one or add a sub-register index.
...
llvm-svn: 81496
2009-09-11 01:01:31 +00:00
Chris Lattner
b5243d77cb
PHI nodes can never reach the asmprinter, assert and die instead of printing
...
out an illegal "PHINODE" instruction.
llvm-svn: 81495
2009-09-11 00:41:15 +00:00
Evan Cheng
93831c07de
It's not legal to fold a load from a narrower stack slot into a wider instruction. If done, the instruction does a 64-bit load and that's not
...
safe. This can happen we a subreg_to_reg 0 has been coalesced. One
exception is when the instruction that folds the load is a move, then we
can simply turn it into a 32-bit load from the stack slot.
rdar://7170444
llvm-svn: 81494
2009-09-11 00:39:26 +00:00
Dan Gohman
685eb70d06
Make fast-isel try ISD::FNEG before resorting to bitcasts and xors.
...
llvm-svn: 81493
2009-09-11 00:36:43 +00:00
Dan Gohman
964c0b8333
Reapply r81171 with a fix: don't try to use i64 when it
...
isn't legal.
llvm-svn: 81492
2009-09-11 00:34:46 +00:00
Dan Gohman
9040a3526e
Fix indentation.
...
llvm-svn: 81484
2009-09-11 00:05:10 +00:00
Dan Gohman
aa66e3d968
Teach lib/VMCore/ConstantFold.cpp how to set the inbounds keyword and
...
how to fold notionally-out-of-bounds array getelementptr indices instead
of just doing these in lib/Analysis/ConstantFolding.cpp, because it can
be done in a fairly general way without TargetData, and because not all
constants are visited by lib/Analysis/ConstantFolding.cpp. This enables
more constant folding.
Also, set the "inbounds" flag when the getelementptr indices are
one-past-the-end.
llvm-svn: 81483
2009-09-11 00:04:14 +00:00
Dan Gohman
58a0550024
Factor out the code for checking that all indices in a getelementptr are
...
within the notional bounds of the static type of the getelementptr (which
is not the same as "inbounds") from GlobalOpt into a utility routine,
and use it in ConstantFold.cpp to check whether there are any mis-behaved
indices.
llvm-svn: 81478
2009-09-10 23:37:55 +00:00
Dan Gohman
97819c7fe8
Give these files top-level comments that describe the current code.
...
llvm-svn: 81473
2009-09-10 23:07:18 +00:00
Devang Patel
e55527b3f2
Fix whitespaces.
...
llvm-svn: 81468
2009-09-10 22:36:12 +00:00
Bill Wendling
2d374c78f6
Fix validation errors.
...
llvm-svn: 81466
2009-09-10 22:14:16 +00:00
Bill Wendling
7473700cd5
Fix validation errors.
...
llvm-svn: 81465
2009-09-10 22:12:50 +00:00
Bob Wilson
7b39f31422
Don't swap the operands of a subtraction when trying to create a
...
post-decrement load/store.
llvm-svn: 81464
2009-09-10 22:09:31 +00:00
Dale Johannesen
fa355ddba3
Fix uppercaseo.
...
llvm-svn: 81463
2009-09-10 22:01:32 +00:00
Kevin Enderby
9f0fb453d8
Added the ParseInstruction() hook for target specific assembler directives so
...
that things like .word can be parsed as target specific. Moved parsing .word
out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes
for other targets that support the .word directive.
llvm-svn: 81461
2009-09-10 20:51:44 +00:00
Victor Hernandez
bcdf5ed5ae
Fit code within 80 columns
...
llvm-svn: 81459
2009-09-10 20:18:57 +00:00
Sean Callanan
9bf1cfc585
Added XOR instructions for rAX and immediates of
...
various widths.
llvm-svn: 81458
2009-09-10 19:52:26 +00:00
Sean Callanan
5e1568e95e
Added MOV instructions between rAX and memory offsets,
...
including segment offsets and (for 8-bit operands)
absolute offsets.
llvm-svn: 81457
2009-09-10 18:33:42 +00:00
Sean Callanan
ce27a0feb7
Added a variety of PUSH and POP instructions, including
...
ones capable of accessing R/M operands instead of just
registers.
llvm-svn: 81456
2009-09-10 18:29:13 +00:00
Bill Wendling
68a3bafe53
Exit early if exception handling isn't supported.
...
llvm-svn: 81454
2009-09-10 18:28:06 +00:00
Mikhail Glushenkov
77f3e5deee
Allow llvmc to take .bc files as input.
...
llvm-svn: 81452
2009-09-10 17:04:32 +00:00
Andreas Neustifter
7a526c9491
Make ProfileEstimator more robust on general CFGs.
...
llvm-svn: 81450
2009-09-10 16:30:38 +00:00
Chris Lattner
baa8f93b1c
add another broken version of gcc, thanks to Niels Moller for pointing this out.
...
llvm-svn: 81449
2009-09-10 16:25:02 +00:00
Mikhail Glushenkov
65831e2bf2
Distinguish between 'empty' and empty DAG marker.
...
llvm-svn: 81448
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
49c2b6f4fb
Add a logical 'not' operator to llvmc's TableGen dialect.
...
llvm-svn: 81447
2009-09-10 16:21:38 +00:00