1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Commit Graph

51705 Commits

Author SHA1 Message Date
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