Daniel Dunbar
63f5a77822
Revert unittests build changes temporarily, the unit test build isn't -j safe.
...
llvm-svn: 81692
2009-09-13 18:58:14 +00:00
Chris Lattner
43f119c3da
delete the fixme too! :)
...
llvm-svn: 81689
2009-09-13 18:50:22 +00:00
Chris Lattner
033d31165d
merge the linux cpool/jtbl pic tests into pic.ll and convert to filecheck.
...
Change the picbase symbol on non-darwin systems from ".Lllvm$4.$piclabel" to
".L4$pb". The actual name doesn't matter and the darwin name is shorter.
llvm-svn: 81688
2009-09-13 18:46:37 +00:00
Daniel Dunbar
37af2a9588
Build (not test) the unittests as part of a normal build.
...
- 'make unittests' still builds and tests.
- 'make unitcheck' inside a unittest directory runs the tests in that directory.
llvm-svn: 81687
2009-09-13 18:43:46 +00:00
Chris Lattner
1c815bef6a
make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.
...
llvm-svn: 81685
2009-09-13 18:33:59 +00:00
Chris Lattner
1d04aa78f3
replace printBasicBlockLabel with EmitBasicBlockStart,
...
now that printBasicBlockLabel is only used for starting
a MBB. This allows elimination of a bunch of arguments.
llvm-svn: 81684
2009-09-13 18:25:37 +00:00
Chris Lattner
de79e4fc2e
fix MCSymbol printing on darwin to exactly match the mangler (handling of \n and " in a symbol name).
...
llvm-svn: 81683
2009-09-13 18:11:09 +00:00
Chris Lattner
3d6c8ebb58
Make the MC symbol printer and llvm::Mangler exactly agree on mangling
...
for systems that don't support quoting (PR4966).
llvm-svn: 81682
2009-09-13 18:04:46 +00:00
Chris Lattner
512e60ac35
remove two docs about the old Sparc backend which used Value*'s for vregs.
...
llvm-svn: 81680
2009-09-13 17:25:49 +00:00
Chris Lattner
48e262e369
move old clang readme here.
...
llvm-svn: 81679
2009-09-13 17:24:16 +00:00
Chris Lattner
4cd449813a
convert some uses of printBasicBlockLabel to use GetMBBSymbol
...
instead.
llvm-svn: 81677
2009-09-13 17:14:04 +00:00
Daniel Dunbar
c2e87ad47a
Add LLVMGCCBINDIR to path, since LLVMC expects to find llvm-gcc in the path.
...
llvm-svn: 81669
2009-09-13 02:45:57 +00:00
Daniel Dunbar
9fffa15471
Switch Ocaml to use llvm_supports_binding.
...
llvm-svn: 81665
2009-09-13 01:41:47 +00:00
Daniel Dunbar
abc5153371
tests: Add llvm_supports_binding predicate.
...
llvm-svn: 81664
2009-09-13 01:41:18 +00:00
Daniel Dunbar
f8f547ab6d
tests: Use %abs_tmp instead of ./%t to make these tests portable to 'lit'.
...
llvm-svn: 81663
2009-09-13 01:40:48 +00:00
Daniel Dunbar
6805006d24
tests: Add a %abs_tmp substitution which is guaranteed to be a full path.
...
llvm-svn: 81662
2009-09-13 01:39:50 +00:00
Daniel Dunbar
1b71307d97
Sink llvm-gcc dependent tests into distinct subdirs.
...
llvm-svn: 81661
2009-09-13 01:39:08 +00:00
Daniel Dunbar
5be66ee27e
Rewrite tests to not use Tcl substitution.
...
llvm-svn: 81660
2009-09-13 01:37:07 +00:00
Daniel Dunbar
fa8c00a13c
Simplify LLVMC tests.
...
llvm-svn: 81659
2009-09-13 01:36:19 +00:00
Anton Korobeynikov
6b9b8c1471
Fix merge problem
...
llvm-svn: 81658
2009-09-13 01:12:15 +00:00
Anton Korobeynikov
6c89da7027
Define proper subreg sets for arm - this should fix bunch of subtle problems
...
with subreg - superreg mapping and also fix PR4965.
llvm-svn: 81657
2009-09-13 00:59:43 +00:00
Dan Gohman
f437e68058
Add -mattr=+sse2 to the -march=x86 version of this test. Without
...
sse, this code falls back to SelectionDAG isel which uses an x87
instruction, which is fine, but not what this test is testing for.
llvm-svn: 81656
2009-09-12 23:45:47 +00:00
Daniel Dunbar
a22637897a
Experimental fix for PR4960.
...
- Could we just always implement this as __clear_cache for __GNUC__?
llvm-svn: 81655
2009-09-12 23:29:02 +00:00
Chris Lattner
a602bebb61
devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.
...
Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that
we only have one place that decides what to name bb labels. Hopefully various
clients of printBasicBlockLabel can start using GetMBBSymbol instead.
llvm-svn: 81652
2009-09-12 23:02:08 +00:00
Chris Lattner
95a312b2e9
we don't want people to override printBasicBlockLabel.
...
llvm-svn: 81651
2009-09-12 22:57:37 +00:00
Dan Gohman
648c836f6c
Remove unnecessary #include.
...
llvm-svn: 81636
2009-09-12 22:24:25 +00:00
Anton Korobeynikov
8d0fbebb9f
Add QPR_VFP2 regclass and add copy_to_regclass nodes, where needed to
...
constraint the register usage.
llvm-svn: 81635
2009-09-12 22:21:08 +00:00
Dan Gohman
f436e87813
Preserve the inbounds flag, so that the constant folder doesn't
...
recompute it.
llvm-svn: 81634
2009-09-12 22:02:17 +00:00
Dan Gohman
07b5c40ed8
Fix the build when DEBUG_SYMBOL_TABLE is set.
...
llvm-svn: 81633
2009-09-12 21:56:48 +00:00
Dan Gohman
3d2c91403c
Convert llvm-link to IRReader.
...
llvm-svn: 81632
2009-09-12 21:55:12 +00:00
Chris Lattner
a1378f3d89
factor MBB label lowering better
...
llvm-svn: 81630
2009-09-12 21:06:08 +00:00
Chris Lattner
6ccf7ed4be
X86MCInstLower::Lower should only not emit anything to OutStreamer,
...
this means that it can only lower one MachineInstr to one MCInst. To
make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS
(which generates an implicit label) out of X86MCInstLower.
llvm-svn: 81629
2009-09-12 21:01:20 +00:00
Chris Lattner
5090e6c4a7
eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol for
...
MBB labels like everything else.
llvm-svn: 81628
2009-09-12 20:45:03 +00:00
Chris Lattner
3172208823
split MachineInstr -> MCInst lowering into its own class (not
...
being embedded into X86ATTAsmPrinter). This still depends heavily
on X86ATTAsmPrinter, but this is a step in the right direction.
llvm-svn: 81627
2009-09-12 20:34:57 +00:00
Chris Lattner
a3f2662a24
remove the "old" at&t style asmprinter. Unfortunately, most of the
...
operand printing crapola cannot be removed yet because it is used by
the inline asm print stuff.
llvm-svn: 81626
2009-09-12 20:01:36 +00:00
Lang Hames
d0fe246dc2
Whoops. Committed the headers for r81605 - 'Moved some more index operations over to LiveIntervals.'
...
llvm-svn: 81609
2009-09-12 04:54:18 +00:00
Lang Hames
dad2da59ad
Moved some more index operations over to LiveIntervals.
...
llvm-svn: 81605
2009-09-12 03:34:03 +00:00
Sean Callanan
57dba6768e
Added the WAIT instruction to the Intel tables,
...
for the purposes of the disassembler.
llvm-svn: 81603
2009-09-12 02:52:41 +00:00
Sean Callanan
29849eadef
Added CMPS (string comparison) instructions for all
...
operand widths to the Intel instruction tables, for
the purposes of the disassembler.
llvm-svn: 81601
2009-09-12 02:25:20 +00:00
Evan Cheng
760c92a5be
Remove -new-coalescer-heuristic. It's not useful.
...
llvm-svn: 81600
2009-09-12 02:14:41 +00:00
Evan Cheng
fe4d1e64d5
80 col violations.
...
llvm-svn: 81598
2009-09-12 02:01:07 +00:00
Chris Lattner
42c1287b68
fix another GCC bootstrap problem, which manifested as things
...
like:
foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb"
llvm-svn: 81596
2009-09-12 01:11:50 +00:00
Chris Lattner
37a4e48529
fix an embarassing typo that resulted in llvm-gcc bootstrap miscompare
...
because the sorting wasn't sorting.
llvm-svn: 81592
2009-09-12 00:49:00 +00:00
Sean Callanan
4dc00d3781
Added SCAS instructions in their 8, 16, 32, and
...
64-bit variants for the disassembler.
llvm-svn: 81591
2009-09-12 00:37:19 +00:00
Daniel Dunbar
b918900995
Fix -Asserts warning.
...
llvm-svn: 81580
2009-09-11 22:07:31 +00:00
Ted Kremenek
c74e09f654
Update CMake files.
...
llvm-svn: 81577
2009-09-11 21:49:45 +00:00
Douglas Gregor
7241795049
De-bork CMake build. llvm-extract depends on asmparser
...
llvm-svn: 81574
2009-09-11 21:26:24 +00:00
Dan Gohman
e592923603
Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
...
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.
Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.
While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.
llvm-svn: 81568
2009-09-11 20:46:33 +00:00
Jim Grosbach
210d6fef51
Revert array initialization regclass change so that the initialization stays static, not runtime.
...
llvm-svn: 81560
2009-09-11 20:13:17 +00:00
Jim Grosbach
a1072a85d6
Update register class references to use the global constant ARM::*RegisterClass names.
...
llvm-svn: 81556
2009-09-11 19:49:06 +00:00
Sean Callanan
31e48cdb5d
Added ADC, SUB, SBB, and OR instructions that operate
...
on rAX and an immediate.
llvm-svn: 81551
2009-09-11 19:01:56 +00:00
Bob Wilson
f544a534cf
Fix pr4820: Don't run llvm-config during "make clean" since it may have
...
already been removed.
llvm-svn: 81547
2009-09-11 18:42:18 +00:00
Dan Gohman
b165c11021
Remove an unnecessary -f.
...
llvm-svn: 81546
2009-09-11 18:41:06 +00:00
Dan Gohman
a080159a7c
Convert more tests to avoid llvm-as.
...
llvm-svn: 81545
2009-09-11 18:36:27 +00:00
Chris Lattner
8b3a539579
fix pasto
...
llvm-svn: 81544
2009-09-11 18:33:44 +00:00
Caroline Tice
183a519771
Don't generate Dwarf line table entries for source line 0.
...
llvm-svn: 81542
2009-09-11 18:25:54 +00:00
Chris Lattner
61bfc3adeb
fix some fixmes: emit stubs in sorted order.
...
llvm-svn: 81541
2009-09-11 18:20:26 +00:00
Dan Gohman
0f3ef7be50
Eliminate more redundant llvm-as calls.
...
llvm-svn: 81540
2009-09-11 18:17:12 +00:00
Dan Gohman
fceb22ff3c
Fix this test to test what it was originally intended to test.
...
llvm-svn: 81539
2009-09-11 18:16:43 +00:00
Chris Lattner
233bfc2890
give densemap iterators real iterator traits.
...
llvm-svn: 81538
2009-09-11 18:15:46 +00:00
Dan Gohman
1880092722
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
4bd8040d14
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
992e42b606
turn on -experimental-asm-printer for x86 / AT&T by default.
...
llvm-svn: 81532
2009-09-11 17:07:27 +00:00
Chris Lattner
7158513fe0
another random update
...
llvm-svn: 81531
2009-09-11 17:07:01 +00:00
Chris Lattner
7730dcc858
reject attempts to take the address of an intrinsic, PR4949.
...
llvm-svn: 81530
2009-09-11 17:05:29 +00:00
Chris Lattner
e54242dc02
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
bc334dcb91
this test is using invalid "intrinsics".
...
llvm-svn: 81527
2009-09-11 16:49:18 +00:00
Chris Lattner
eeeb5e1198
fix test to not get a moduleid that matches 'br'
...
llvm-svn: 81526
2009-09-11 16:47:41 +00:00
Chris Lattner
3e1f5e93cb
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
24c00479df
... and fix the REQUIRES_RTTI condition.
...
llvm-svn: 81524
2009-09-11 15:47:24 +00:00
Daniel Dunbar
421bca3c70
Fix REQUIRES_RTTI while awake.
...
llvm-svn: 81523
2009-09-11 15:45:13 +00:00
Daniel Dunbar
8504030c8b
Make REQUIRES_RTTI work.
...
llvm-svn: 81522
2009-09-11 15:39:39 +00:00
Owen Anderson
598467916d
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
bcdb0423c5
Bugfix. Sorry.
...
llvm-svn: 81517
2009-09-11 08:43:15 +00:00
Andreas Neustifter
f5a1ca2133
Make ProfileEstimator even more robust on general CFGs.
...
llvm-svn: 81516
2009-09-11 08:39:33 +00:00
Chris Lattner
19a9f42f20
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
446d589cad
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
9a7edd6bba
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
30c44c053f
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
35ed98aaef
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
c827f53495
fix prefix ordering, it's L_foo not _Lfoo
...
llvm-svn: 81506
2009-09-11 05:51:29 +00:00
Chris Lattner
840c8d72d0
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
1051efc339
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
482c5df56d
rearrange some code, export a SmallString version of DecorateCygMingName.
...
llvm-svn: 81502
2009-09-11 04:28:13 +00:00
Chris Lattner
92ada5dc52
more typos
...
llvm-svn: 81499
2009-09-11 01:49:31 +00:00
Evan Cheng
74a3231de4
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
82bea72032
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
3cad6283b8
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
9cbef32726
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
89b090e51e
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
11ff570292
Fix indentation.
...
llvm-svn: 81484
2009-09-11 00:05:10 +00:00
Dan Gohman
21c6216c87
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
7190d48075
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
91d598de5c
Give these files top-level comments that describe the current code.
...
llvm-svn: 81473
2009-09-10 23:07:18 +00:00
Devang Patel
5ffc3854f6
Fix whitespaces.
...
llvm-svn: 81468
2009-09-10 22:36:12 +00:00
Bill Wendling
fd27201d39
Fix validation errors.
...
llvm-svn: 81466
2009-09-10 22:14:16 +00:00
Bill Wendling
33b693f52b
Fix validation errors.
...
llvm-svn: 81465
2009-09-10 22:12:50 +00:00
Bob Wilson
39f51320ca
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
50f0376f49
Fix uppercaseo.
...
llvm-svn: 81463
2009-09-10 22:01:32 +00:00
Kevin Enderby
ce4bec8e0c
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
7b98b9291c
Fit code within 80 columns
...
llvm-svn: 81459
2009-09-10 20:18:57 +00:00
Sean Callanan
62aebf9fa2
Added XOR instructions for rAX and immediates of
...
various widths.
llvm-svn: 81458
2009-09-10 19:52:26 +00:00
Sean Callanan
64804f37bb
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
31bb414efd
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
9535ae42ff
Exit early if exception handling isn't supported.
...
llvm-svn: 81454
2009-09-10 18:28:06 +00:00
Mikhail Glushenkov
d5107d1333
Allow llvmc to take .bc files as input.
...
llvm-svn: 81452
2009-09-10 17:04:32 +00:00
Andreas Neustifter
753441e318
Make ProfileEstimator more robust on general CFGs.
...
llvm-svn: 81450
2009-09-10 16:30:38 +00:00
Chris Lattner
eba6c725d0
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
c1e23592ec
Distinguish between 'empty' and empty DAG marker.
...
llvm-svn: 81448
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
7b047b9c81
Add a logical 'not' operator to llvmc's TableGen dialect.
...
llvm-svn: 81447
2009-09-10 16:21:38 +00:00
Nuno Lopes
bc56152196
fix leakage of Module
...
llvm-svn: 81445
2009-09-10 14:56:31 +00:00
Benjamin Kramer
4bf4e8686c
Add some braces to make newer GCCs happy and update CMakeLists.
...
llvm-svn: 81443
2009-09-10 11:31:39 +00:00
Andreas Neustifter
f4858d59e5
Cleaned up code by factoring out common portions of edge loading into function.
...
llvm-svn: 81438
2009-09-10 07:12:35 +00:00
Nick Lewycky
dddf5dcdaf
Correctly handle the case where a comparison is created in one BasicBlock and
...
used by a terminator in another.
llvm-svn: 81437
2009-09-10 07:02:09 +00:00
Bill Wendling
023ed6480e
Comment and whitespace cleanups. No intentional functionality change.
...
llvm-svn: 81436
2009-09-10 06:50:01 +00:00
Bill Wendling
9e5c2065c5
Revert part of my r81424 patch. I removed what looked like superfluous padding
...
from the exception tables. However, Duncan explained why it's a can of worms to
do it the GCC way. I went back to doing it the LLVM way and added Duncan's
explanation so that I don't do this again in the future.
llvm-svn: 81434
2009-09-10 06:27:16 +00:00
Evan Cheng
c1aec40d64
Add a test case for r81431.
...
llvm-svn: 81432
2009-09-10 05:08:51 +00:00
Daniel Dunbar
e2d76237ec
Remove prcontext.
...
llvm-svn: 81427
2009-09-10 04:56:59 +00:00
Evan Cheng
1d9d4bdc99
Add malloc call utility functions. Patch by Victor Hernandez.
...
llvm-svn: 81426
2009-09-10 04:36:43 +00:00
Bill Wendling
243ac566e2
Don't hardcode the TType format size. In fact, rework the code so that it's more
...
like what GCC outputs. The mysterious code to insert padding wasn't in GCC at
all. I modified the TType base offset code to calculate the offset like GCC
does, though.
llvm-svn: 81424
2009-09-10 02:07:37 +00:00
Evan Cheng
f6b2404a84
Proper support of non-lazy indirect symbols.
...
llvm-svn: 81422
2009-09-10 01:23:53 +00:00
Bill Wendling
bf56268ff9
Remove the "#if 0" that Noone loved. It wasn't really necessary, because the
...
code within it was the same inside and out. There's still a problem of the
TypeInfoSize should be the size of the TType format encoding (at least that's
what GCC thinks it should be).
llvm-svn: 81417
2009-09-10 01:12:47 +00:00
Daniel Dunbar
a944234a1e
MC: Give target specific parsers access to the MCStreamer.
...
llvm-svn: 81416
2009-09-10 00:59:15 +00:00
Bob Wilson
59e4c84c6f
Revert r81171 which was causing pr4927.
...
llvm-svn: 81415
2009-09-10 00:49:22 +00:00
Bill Wendling
a482ec83c5
Pull check for SJLJ EH into a boolean and use that.
...
llvm-svn: 81409
2009-09-10 00:17:04 +00:00
Bill Wendling
73094e15c4
Use the SizeOfEncodedValue function instead of magic variables for the
...
sizeof(DW_EH_PE_udata4).
llvm-svn: 81408
2009-09-10 00:13:16 +00:00
Bill Wendling
7b40b5a243
Add helpful comment.
...
llvm-svn: 81406
2009-09-10 00:04:48 +00:00
Bill Wendling
da3e7547fb
Believe it or not, this is a simplification. :-)
...
Basically, this patch is working towards removing the hard-coded values that are
output for the CIE. In particular, the CIE augmentation and the CIE augmentation
size. Both of these should be calculated. In the process, I was able to make a
bunch of code simpler.
The encodings for the personality, LSDA, and FDE in the CIE are still not
correct. They should be generated either from target-specific callbacks (blech!)
or grokked from first-principles.
llvm-svn: 81404
2009-09-09 23:56:55 +00:00
Evan Cheng
71140344f0
Fix double load / store multiple encoding.
...
llvm-svn: 81403
2009-09-09 23:55:03 +00:00
Chris Lattner
d747a9f21f
canonicalize namespace gymnastics
...
llvm-svn: 81402
2009-09-09 23:46:42 +00:00
Dale Johannesen
c15bfb5975
Testcase for (llvm-gcc) 81399. Adjust an older
...
test case to allow for different, functionally
identical output.
llvm-svn: 81400
2009-09-09 23:37:46 +00:00
Bob Wilson
a2e8333eed
Fix pr4939: Change FPCCToARMCC to translate SETOLE to ARMCC::LS.
...
See the bug report for details.
llvm-svn: 81397
2009-09-09 23:14:54 +00:00
Chris Lattner
321bc99a74
remove DebugLoc from MCInst and eliminate "Comment printing" from
...
the MCInst path of the asmprinter. Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter. This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.
This also fixes an xcore strangeness where it inserted two tabs
before every instruction.
llvm-svn: 81396
2009-09-09 23:14:36 +00:00
Chris Lattner
5333ec33b3
Fix a subtle bug in "return;" generation which caused us to miss
...
a return in one case. Instead of sprinking return handling code
throughout the asmprinter generator, just treat it like any other
normal statement.
llvm-svn: 81395
2009-09-09 23:09:29 +00:00
Daniel Dunbar
aec990efd7
Add comment re: clang dependency.
...
llvm-svn: 81393
2009-09-09 23:01:25 +00:00
Sean Callanan
1358fb7feb
Added an abstract superclass, MCDisassembler, for
...
all disassemblers.
Modified the MemoryObject to support 64-bit address
spaces, regardless of the LLVM process's address
width.
Modified the Target class to allow extraction of a
MCDisassembler.
llvm-svn: 81392
2009-09-09 22:49:13 +00:00
Bill Wendling
572a0df0fc
Use the EOL that takes the encoding and translates it into DWARF-English.
...
llvm-svn: 81382
2009-09-09 21:26:19 +00:00
Bill Wendling
eaa71c3ae2
Early exit from function.
...
llvm-svn: 81381
2009-09-09 21:08:12 +00:00
Bill Wendling
afd4f30df4
Small amount of code clean-up: Don't use ".size()" when not necessary.
...
llvm-svn: 81380
2009-09-09 21:06:24 +00:00
Chris Lattner
d9e12345af
add a gross hack to get "SrcLine" comments to show up with the
...
new asmprinter. Differently gross hack coming next.
llvm-svn: 81379
2009-09-09 20:45:42 +00:00
Chris Lattner
716a8c92d0
hoist the call to processDebugLoc out of the generated
...
asm printer into the "printInstruction" routine. This
fixes a problem where the experimental asmprinter would
drop debug labels in some cases, and fixes issues on ppc/xcore
where pseudo instructions like "mr" didn't get debug locs properly.
It is annoying that this moves the call from one place into each
target, but a future set of more invasive refactorings will fix
that problem.
llvm-svn: 81377
2009-09-09 20:34:59 +00:00
Lang Hames
6b81770040
Removed static qualifier from a few index related methods. These methods may require a LiveIntervals instance in future.
...
llvm-svn: 81374
2009-09-09 20:14:17 +00:00
Andreas Neustifter
1bad7f222a
Reverted r81358.
...
llvm-svn: 81364
2009-09-09 18:19:35 +00:00
Dan Gohman
ec4557f324
Fix SplitCriticalEdge to properly update LCSSA form when splitting a
...
loop exit edge -- new PHIs may be needed not only for the additional
splits that are made to preserve LoopSimplify form, but also for the
original split. Factor out the code that inserts new PHIs so that it
can be used for both. Remove LoopRotation.cpp's code for manually
updating LCSSA form, as it is now redundant. This fixes PR4934.
llvm-svn: 81363
2009-09-09 18:18:18 +00:00
Benjamin Kramer
3cb19a156d
Fix build, add missing simicolon.
...
llvm-svn: 81362
2009-09-09 18:03:46 +00:00
Mike Stump
deaf572ca8
Reflow comment.
...
llvm-svn: 81361
2009-09-09 17:57:16 +00:00
Andreas Neustifter
4c0b2847ef
Preserve ProfileInfo.
...
llvm-svn: 81360
2009-09-09 17:53:39 +00:00
Andreas Neustifter
93bc18f80a
Add the first functions for updating ProfileInfo.
...
llvm-svn: 81359
2009-09-09 17:52:57 +00:00
Andreas Neustifter
505fd86bd2
Cleaned up code by factoring out common portions of edge loading into funcion.
...
llvm-svn: 81358
2009-09-09 17:51:39 +00:00
Devang Patel
cbde073d8c
Take lock before removing a node from MDNodeSet.
...
llvm-svn: 81356
2009-09-09 17:44:26 +00:00
Devang Patel
9a767cb5c0
Enable MDNode uniquing.
...
llvm-svn: 81355
2009-09-09 17:30:04 +00:00
Dan Gohman
c56af25c01
Fix an 80-column violation.
...
llvm-svn: 81354
2009-09-09 17:17:19 +00:00
Devang Patel
93056ec4e2
Gracefully destroy MDNodes.
...
llvm-svn: 81353
2009-09-09 17:07:07 +00:00
Chris Lattner
9ded9ac8af
revert r81335, which breaks the build.
...
llvm-svn: 81347
2009-09-09 16:00:57 +00:00
Dan Gohman
16ad903fcf
When widening a vector load, use the correct chain. This fixes PR4891.
...
llvm-svn: 81343
2009-09-09 14:22:57 +00:00
Andreas Neustifter
ba545ec6f5
Fixed wrong storage option for ProfileVerifierDisableAssertions.
...
Fixed non working -profile-verifier-noassert option.
Fixed missing newline in debugEntry().
Cleaned up assert messages. (assert(0 && Message) is still shown, but the message is printed before.)
When verifiying loaded profiles the ProfileVerifier got confused when block was a setjmp target, this is checked now.
When verifiying loaded profiles the ProfileVerifier got confused when block eventually reaching an exit(), this is checked now.
llvm-svn: 81338
2009-09-09 13:01:03 +00:00
Andreas Neustifter
0bd472dc33
Updated ProfileInfo to have clean seperation between different sentinels.
...
llvm-svn: 81335
2009-09-09 12:48:26 +00:00
Benjamin Kramer
2a1131a42f
Add a shortcut for OS X to Path::GetMainExecutable. This gives a nice speedup on
...
clang's testsuite.
llvm-svn: 81333
2009-09-09 12:09:08 +00:00
Mikhail Glushenkov
5cf21a9668
Copy-pasto.
...
llvm-svn: 81331
2009-09-09 10:14:55 +00:00
Mikhail Glushenkov
48893a691e
Revert 81248 for now.
...
Program objects have ownership semantics on Windows.
llvm-svn: 81329
2009-09-09 09:52:04 +00:00
Mikhail Glushenkov
d2f8a111cd
Check that the 'kill' call succeeded.
...
Thanks to Duncan Sands for spotting this.
llvm-svn: 81328
2009-09-09 09:51:47 +00:00
Torok Edwin
a40184aa77
Add testcase for r81322 (PR4933).
...
llvm-svn: 81327
2009-09-09 09:34:43 +00:00
Anton Korobeynikov
bfd22dd704
Provide proper section flags for various BSS flavours
...
llvm-svn: 81322
2009-09-09 08:48:53 +00:00
Anton Korobeynikov
1df58860e8
Whitespace cleanup
...
llvm-svn: 81321
2009-09-09 08:41:20 +00:00
Chris Lattner
d5f2b3f543
add a testacse for the objc problem that required required r81305
...
to be temporarily disabled.
llvm-svn: 81320
2009-09-09 06:19:34 +00:00
Chris Lattner
afa12db8a6
disable the new asmprinter by default. Both the Mangler and MCSymbol
...
printing stuff are quoting symbols now, breaking objc testcases.
llvm-svn: 81319
2009-09-09 06:11:14 +00:00
Evan Cheng
cf61d68eaf
Cast MO.getImm() to unsigned before comparing with an unsigned limit.
...
llvm-svn: 81318
2009-09-09 06:05:16 +00:00
Jeffrey Yasskin
ccbeaf5f94
Make TypeBuilder's result depend on the LLVMContext it's passed.
...
TypeBuilder was using a local static variable to cache its result. This made it
ignore changes in its LLVMContext argument and always return a type constructed
from the argument to the first call.
llvm-svn: 81316
2009-09-09 05:04:01 +00:00
Daniel Dunbar
d556bc48d7
Update test.
...
llvm-svn: 81314
2009-09-09 02:41:50 +00:00
Daniel Dunbar
d44c2e033f
Count test correctly with -q.
...
llvm-svn: 81313
2009-09-09 02:41:42 +00:00
Daniel Dunbar
03e7a26276
Fix another refactoro.
...
llvm-svn: 81312
2009-09-09 02:41:32 +00:00
Evan Cheng
4029b85567
Make sure to make stub region writable before emission, executable after emission.
...
llvm-svn: 81311
2009-09-09 01:56:29 +00:00
Evan Cheng
9fa8345b65
Fix arm jit encoding bug introduced by 75048. Some instructions', e.g. MOVi, bit 25 should be set.
...
llvm-svn: 81310
2009-09-09 01:47:07 +00:00
Evan Cheng
49adbf42b1
Make sure the memory range is writable before memset'ing it.
...
llvm-svn: 81308
2009-09-09 01:45:24 +00:00
Eric Christopher
98e0a59acc
Correct __cxa_end_catch documentation to reflect that it doesn't take any arguments.
...
llvm-svn: 81307
2009-09-09 01:44:53 +00:00
Evan Cheng
a1c6495af7
Remove comments which don't add much to .s readibility.
...
llvm-svn: 81306
2009-09-09 01:38:23 +00:00
Chris Lattner
ba0d9f538f
turn the mcinst asmprinter on by default for x86, tweaking two tests to
...
expect the slight syntax differences in the generated code.
llvm-svn: 81305
2009-09-09 00:41:36 +00:00
Chris Lattner
24083066c8
tidy up
...
llvm-svn: 81304
2009-09-09 00:40:31 +00:00
Bill Wendling
14a2514c20
Remove failing test...
...
llvm-svn: 81303
2009-09-09 00:30:25 +00:00
Chris Lattner
f2fefedcf8
make sure to send external symbols through the mangler,
...
this fixes mingw-alloca.ll with the new asmprinter.
llvm-svn: 81301
2009-09-09 00:23:32 +00:00
Dan Gohman
c466e31309
Use "opt < %s" instead of "opt %s" to keep the testname away from the grep.
...
llvm-svn: 81299
2009-09-09 00:22:49 +00:00
Chris Lattner
5fdb699f13
this got merged into lea.ll
...
llvm-svn: 81298
2009-09-09 00:22:31 +00:00
Chris Lattner
68d3d61ec1
filecheckize
...
llvm-svn: 81297
2009-09-09 00:19:46 +00:00
Chris Lattner
cada1c1012
allow @ in symbol names without quoting the identifier. This
...
allows things like @PLT without quotes.
llvm-svn: 81296
2009-09-09 00:14:09 +00:00
Bill Wendling
ea81960798
Fix PR4865. This syncs up the JIT's DWARF emitter with what's in the
...
'DwarfException.cpp' file, which changed how CIEs were emitted, the sizes of
some fields, etc.
llvm-svn: 81295
2009-09-09 00:11:02 +00:00
Chris Lattner
c5a95c5aad
add support for @PLT and friends on external symbols, fixes
...
x86-64-pic-11.ll with the new asmprinter.
llvm-svn: 81294
2009-09-09 00:10:14 +00:00
Dan Gohman
c8054d90fb
Eliminate more uses of llvm-as and llvm-dis.
...
llvm-svn: 81293
2009-09-09 00:09:15 +00:00
Dan Gohman
40503396da
Eliminate more uses of llvm-as and llvm-dis.
...
llvm-svn: 81290
2009-09-08 23:54:48 +00:00
Chris Lattner
f87421f088
update various tests for signedness changes in .s file.
...
llvm-svn: 81289
2009-09-08 23:51:06 +00:00
Chris Lattner
9ef94277f1
adjust for signedness change. I'd appreciate it if an ARM flavored person
...
could look at this: the top undefined bits of an immediate shouldn't affect
isel (cmp vs cmp.w)
llvm-svn: 81288
2009-09-08 23:44:53 +00:00
Daniel Dunbar
6b3e7bd4ee
Merge Archive/extract* tests into one; this avoids a race when tests are run in
...
parallel (the test should really use temps for the output, though).
llvm-svn: 81287
2009-09-08 23:44:24 +00:00
Chris Lattner
6837964819
merge thumb2-bic2.ll into thumb2-bic.ll and update for signedness changes.
...
llvm-svn: 81285
2009-09-08 23:41:06 +00:00
Daniel Dunbar
a8597a3749
Add Triple::getArchTypeForDarwinArchName, which converts a "Darwin" architecture
...
name (e.g. "ppc") to the appropriate constant.
Also, StringRefize additional Triple constructor.
llvm-svn: 81274
2009-09-08 23:32:51 +00:00
Chris Lattner
9e5674ae3f
tweak this to pass on linux.
...
llvm-svn: 81273
2009-09-08 23:32:40 +00:00
Daniel Dunbar
6119d878bb
Improve JIT error message for users crazy enough to use -march with JIT, and
...
mention -version in messages about missing targets.
llvm-svn: 81272
2009-09-08 23:32:35 +00:00
Chris Lattner
22833a3cd6
parenthesize symbol names that start with $, fixing X86/dollar-name.ll with
...
the new asmprinter.
llvm-svn: 81269
2009-09-08 23:20:50 +00:00
Chris Lattner
dae3e56cb7
convert to filecheck syntax
...
llvm-svn: 81267
2009-09-08 23:16:26 +00:00
Chris Lattner
e819cfbc71
change selectiondag to add the sign extended versions of immediate operands
...
to instructions instead of zero extended ones. This makes the asmprinter
print signed values more consistently. This apparently only really affects
the X86 backend.
llvm-svn: 81265
2009-09-08 23:05:44 +00:00
Dan Gohman
22f339010c
Use "opt < %s" instead of "opt %s" so that opt doesn't print the test
...
filename in the output, which interferes with the tests' grep lines.
llvm-svn: 81263
2009-09-08 22:57:49 +00:00
Anton Korobeynikov
7697d37777
Unbreak getOnesVector() / getZeroVector() to use valid ARM extended imm's.
...
llvm-svn: 81262
2009-09-08 22:51:43 +00:00
Dan Gohman
4f2527cd6d
Convert a few more opt | llvm-dis to opt -S.
...
llvm-svn: 81261
2009-09-08 22:41:33 +00:00
Chris Lattner
7896c8ba58
filecheckize some tests
...
llvm-svn: 81259
2009-09-08 22:38:46 +00:00
Dan Gohman
72a13d2476
Use opt -S instead of piping bitcode output through llvm-dis.
...
llvm-svn: 81257
2009-09-08 22:34:10 +00:00
Dan Gohman
e6a80ced1c
Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead
...
of requiring a name be passed in. This makes it use "<stdin>"
instead of "-" and makes it more consistent with the Bitcode reader.
llvm-svn: 81256
2009-09-08 22:20:35 +00:00
Mikhail Glushenkov
a3fbf36004
This should unbreak the build on 64-bit Linux.
...
llvm-svn: 81252
2009-09-08 20:31:27 +00:00
Owen Anderson
f0081db7e8
Fix PR4909, patch by Jakub Staszak.
...
llvm-svn: 81250
2009-09-08 19:53:15 +00:00
Mikhail Glushenkov
29b5d3012b
Const-correctness.
...
llvm-svn: 81249
2009-09-08 19:51:39 +00:00
Mikhail Glushenkov
28471eee1d
Since Program is basically a PID, it should be copyable.
...
llvm-svn: 81248
2009-09-08 19:51:12 +00:00
Mikhail Glushenkov
f9e2f241df
Get rid of the Pid_ member in the Program class.
...
llvm-svn: 81247
2009-09-08 19:50:55 +00:00
Mikhail Glushenkov
4a91b7605b
Add a Kill() function to the Program class.
...
llvm-svn: 81246
2009-09-08 19:50:27 +00:00
Chris Lattner
10ff0c1862
another typo
...
llvm-svn: 81243
2009-09-08 19:45:34 +00:00
Evan Cheng
57b14190e6
Do not specify -mmacosx-version-min if building for arm-apple-darwin.
...
llvm-svn: 81240
2009-09-08 18:52:20 +00:00
Chris Lattner
9ce1781ef4
remove an extremely dubious instcombine transformation of
...
extractelement(load).
llvm-svn: 81239
2009-09-08 18:48:01 +00:00
Devang Patel
926fc3d68d
Remove dead code.
...
llvm-svn: 81235
2009-09-08 18:14:36 +00:00
Dan Gohman
05b2f10e57
Trim unnecessary declarations.
...
llvm-svn: 81227
2009-09-08 17:03:05 +00:00
Dan Gohman
9737a63ed8
Change these tests to feed the assembly files to opt directly, instead
...
of using llvm-as, now that opt supports this.
llvm-svn: 81226
2009-09-08 16:50:01 +00:00
Daniel Dunbar
6e4ed8ca5f
Fix may-be-used-uninitialized warning.
...
llvm-svn: 81223
2009-09-08 16:14:54 +00:00
Dan Gohman
40d204fc83
llvm-as is no longer needed here, now that opt can read assembly
...
files directly.
llvm-svn: 81222
2009-09-08 15:52:56 +00:00
Dan Gohman
3ddbc242fb
Re-apply r80926, with fixes: keep the domtree informed of new blocks
...
that get created during loop unswitching, and fix SplitBlockPredecessors'
LCSSA updating code to create new PHIs instead of trying to just move
existing ones.
Also, optimize Loop::verifyLoop, since it gets called a lot. Use
searches on a sorted list of blocks instead of calling the "contains"
function, as is done in other places in the Loop class, since "contains"
does a linear search. Also, don't call verifyLoop from LoopSimplify or
LCSSA, as the PassManager is already calling verifyLoop as part of
LoopInfo's verifyAnalysis.
llvm-svn: 81221
2009-09-08 15:45:00 +00:00
Anton Korobeynikov
59e2b8e894
Add NEON 'laned' operations. This fixes another bunch of gcc testsuite fails and
...
makes the code faster.
llvm-svn: 81220
2009-09-08 15:22:32 +00:00
Chris Lattner
6760e54c92
fix a couple typos pointed out by edwin and duncan
...
llvm-svn: 81219
2009-09-08 15:13:16 +00:00
Dan Gohman
87be9e7c78
Unbreak these tests. Chris, please verify that these changes are intended.
...
llvm-svn: 81217
2009-09-08 14:14:24 +00:00
Richard Pennington
bd1fc36002
Add source debug information to the Sparc code generator.
...
llvm-svn: 81215
2009-09-08 12:47:30 +00:00
Nicolas Geoffray
51ae4a23da
When emitting a label for a PostCall safe point, the machine
...
instruction to insert before can be end(). getDebugLoc on
end() returns an invalid value, therefore use the debug
loc of the call instruction, and give it to InsertLabel.
llvm-svn: 81207
2009-09-08 07:39:27 +00:00
Nicolas Geoffray
8ab546ddca
Also emit a label for TargetInstrInfo::GC_LABEL.
...
llvm-svn: 81206
2009-09-08 07:36:18 +00:00
Anton Korobeynikov
758f8c690d
Unbreak
...
llvm-svn: 81205
2009-09-08 07:30:03 +00:00
Evan Cheng
a7afdda65d
When remat'ing and destination virtual register has a sub-register index. Make sure the sub-register class matches the register class of the remat'ed instruction definition register class.
...
llvm-svn: 81204
2009-09-08 06:39:07 +00:00
Chris Lattner
7975b8fc32
Print "X-42" instead of "X+-42".
...
llvm-svn: 81203
2009-09-08 06:37:35 +00:00
Chris Lattner
3cfc551f6e
make formatting of expressions more closely match the existing asmprinter.
...
llvm-svn: 81202
2009-09-08 06:34:07 +00:00
Chris Lattner
a0020be758
tidy whitespace.
...
llvm-svn: 81201
2009-09-08 06:27:48 +00:00
Chris Lattner
a8cb3dffe9
disable some irrelevant eh emission
...
llvm-svn: 81200
2009-09-08 06:26:40 +00:00
Chris Lattner
adb4545d14
add support for some missing modifiers on jumptable/constant pool entries.
...
llvm-svn: 81199
2009-09-08 06:25:12 +00:00
Chris Lattner
31d1810b16
add a bunch more evil lowering code to work around various :subreg32 modifiers
...
in the .td files. This gets us down to 18 failures in codegen/x86 with the
new asmprinter.
llvm-svn: 81198
2009-09-08 06:19:15 +00:00
Daniel Dunbar
d0521071f5
lit needs bash for tcl-as-sh execution, we use set -o pipefail.
...
llvm-svn: 81197
2009-09-08 06:08:07 +00:00
Chris Lattner
520a7f9250
ADd support for "lowering" the X86::MOVZX16rr8/X86::MOVZX16rm8
...
subreg32 modifiers.
llvm-svn: 81196
2009-09-08 06:03:07 +00:00
Chris Lattner
8280e58545
add a hack to lower MOV16r0 to MOV32r0 in MCInstLower, eliminating
...
the problem with subreg32 modifiers. This gets all of Olden working
with the new asmprinter.
llvm-svn: 81195
2009-09-08 05:49:25 +00:00
Daniel Dunbar
d89e08b3c0
Fix typo that worked on python 2.6.
...
Also, fix unit tests.
llvm-svn: 81194
2009-09-08 05:46:28 +00:00
Nick Lewycky
12c77d73a9
Hoist out the test+insert to CheckedTypes. This doesn't seem to affect
...
performance.
llvm-svn: 81193
2009-09-08 05:46:15 +00:00
Daniel Dunbar
9b712b3c8d
Fix a refactoro.
...
llvm-svn: 81192
2009-09-08 05:37:51 +00:00
Daniel Dunbar
3eeddd22dd
Add 'lit' support for llvm tests.
...
- This adds 'make check-lit' from the top-level Makefile.
llvm-svn: 81191
2009-09-08 05:31:44 +00:00
Daniel Dunbar
a213a427aa
Add 'lit' testing tool.
...
- make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more
information.
llvm-svn: 81190
2009-09-08 05:31:18 +00:00
Chris Lattner
ba7cdde020
llvm::cerr is gone.
...
llvm-svn: 81189
2009-09-08 05:15:50 +00:00
Chris Lattner
633ad4ee17
update this to use raw_ostream
...
llvm-svn: 81188
2009-09-08 05:14:44 +00:00
Chris Lattner
b2fcd070e2
fix PR4767, a crash because fp stackifier visited blocks in
...
depth first order, so it wouldn't process unreachable blocks.
When compiling at -O0, late dead block elimination isn't done
and the bad instructions got to isel.
llvm-svn: 81187
2009-09-08 04:55:44 +00:00
Chris Lattner
d1b21c6092
remove a turd
...
llvm-svn: 81186
2009-09-08 03:47:41 +00:00
Chris Lattner
d3210e1a20
instcombine transforms vector loads that are only used by
...
extractelement operations into a bitcast of the pointer,
then a gep, then a scalar load. Disable this when the vector
only has one element, because it leads to infinite loops in
instcombine (PR4908).
This transformation seems like a really bad idea to me, as it
will likely disable CSE of vector load/stores etc and can be
better done in the code generator when profitable. This
goes all the way back to the first days of packed types,
r25299 specifically.
I'll let those people who care about the performance of vector
code decide what to do with this.
llvm-svn: 81185
2009-09-08 03:44:51 +00:00
Chris Lattner
de6a44b790
fix pasto
...
llvm-svn: 81184
2009-09-08 03:39:55 +00:00
Chris Lattner
5c2126d67e
add getVectorOperand/getIndexOperand accessors to ExtractElementInst.
...
Fix some const correctness problems in SelectInst.
llvm-svn: 81183
2009-09-08 03:32:53 +00:00
Nick Lewycky
984161af16
Simplify from my last change. Assert1 is a macro that makes its caller return,
...
so "Assert1(isa<>); cast<>" is a valid idiom.
Actually check the PHI node's odd-numbered operands for BasicBlock-ness, like
the comment said.
llvm-svn: 81182
2009-09-08 02:02:39 +00:00
Dan Gohman
f4a0f0f033
Fix an abort on a store of an empty struct member. getValue returns
...
null in the case of an empty struct, so don't try to call getNumValues
on it.
llvm-svn: 81180
2009-09-08 01:44:02 +00:00