Nate Begeman
a9e552182a
Teach the legalizer to propagate the original alignment of loads and store when
...
it splits them.
llvm-svn: 81815
2009-09-15 00:14:28 +00:00
Dan Gohman
9401b2fcab
On x86-64, the 32-bit cmov doesn't actually clear the high 32-bit of
...
its result if the condition is false.
llvm-svn: 81814
2009-09-15 00:14:11 +00:00
Nate Begeman
e9572a945b
Add an "original alignment" field to load and store nodes. This enables the
...
DAG Combiner to disambiguate chains for loads and stores of types which are
broken up by the Legalizer into smaller pieces.
llvm-svn: 81813
2009-09-15 00:13:12 +00:00
Dan Gohman
ec42afc1dc
When extending a memset range past the front, set the alignment of the
...
memset region to the alignment of the new start address.
llvm-svn: 81810
2009-09-14 23:39:10 +00:00
Erick Tryzelaar
cd5ce50e17
Expose initializing the native target for the execution engine.
...
llvm-svn: 81800
2009-09-14 21:54:32 +00:00
Erick Tryzelaar
0e2d5db045
Make sure to initialize the fpm in the ocaml tutorial.
...
llvm-svn: 81799
2009-09-14 21:54:15 +00:00
Evan Cheng
83bb285c97
Add early coalescing to liveintervals. This is work in progress and is known to miscompute some tests. Read it at your own rish, I have aged 10 year while writing this.
...
The gist of this is if source of some of the copies that feed into a phi join is defined by the phi join, we'd like to eliminate them. However, if any of the non-identity source overlaps the live interval of the phi join then the coalescer won't be able to coalesce them. The early coalescer's job is to eliminate the identity copies by partially-coalescing the two live intervals.
llvm-svn: 81796
2009-09-14 21:33:42 +00:00
Bill Wendling
f43d8a08b0
Pull the creation of the "RewindFunction" function out of the loop. It's only
...
created once, so shouldn't be stuck in the middle of the loop. Also early exit
if there are no uses of UnwindInst in the function.
llvm-svn: 81785
2009-09-14 20:52:37 +00:00
Dan Gohman
5c7448cb12
Update a comment to match the source. PseudoSourceValues are now
...
obtained via accessor functions.
llvm-svn: 81782
2009-09-14 20:40:10 +00:00
Jim Grosbach
5f662f31bc
trivial whitespace cleanup
...
llvm-svn: 81773
2009-09-14 17:27:35 +00:00
Chris Lattner
444c69afae
add PR#
...
llvm-svn: 81770
2009-09-14 16:49:26 +00:00
Eric Christopher
d6982c76a8
Enable the jit for llvm-config.
...
Patch by Xerxes Rånby!
llvm-svn: 81768
2009-09-14 16:38:49 +00:00
Daniel Dunbar
35a1ac3e03
Add a valgrind suppressions file for x86_64/linux/4.3.3.
...
llvm-svn: 81766
2009-09-14 16:10:32 +00:00
Daniel Dunbar
c98a9cbdc8
Add a VALGRIND_EXTRA_ARGS makefile variable, with the obvious semantics.
...
llvm-svn: 81764
2009-09-14 15:27:43 +00:00
Daniel Dunbar
52dc654026
Update CMake dependencies.
...
llvm-svn: 81758
2009-09-14 05:22:54 +00:00
Daniel Dunbar
d729752a24
Update CMake.
...
llvm-svn: 81757
2009-09-14 05:22:47 +00:00
Chris Lattner
ec805c1a5d
PIC16 does allow colon after MBB labels, simplify EmitBasicBlockStart.
...
llvm-svn: 81755
2009-09-14 03:15:54 +00:00
Chris Lattner
4a33f01892
Change MCAsmStreamer to take an MCInstPrinter instead of a
...
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.
llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.
llvm-svn: 81754
2009-09-14 03:02:37 +00:00
Daniel Dunbar
d715512750
Teach 'make check-lit' to run unittests.
...
llvm-svn: 81753
2009-09-14 02:39:01 +00:00
Daniel Dunbar
23724b98d0
Attempt to fix some 4.0.0 build warnings.
...
llvm-svn: 81752
2009-09-14 02:38:53 +00:00
Daniel Dunbar
2808cdfdbe
lit: Give test formats control over test discovery.
...
llvm-svn: 81751
2009-09-14 02:38:46 +00:00
Nick Lewycky
65180a9be4
Fix a pair of comment typos.
...
llvm-svn: 81750
2009-09-14 02:25:34 +00:00
Nick Lewycky
02986c78c5
Fifth time's a charm! Remove ourselves as abstract type listeners once we've
...
been told that the type is no longer abstract.
llvm-svn: 81749
2009-09-14 02:25:19 +00:00
Chris Lattner
a00e070ea0
Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinter
...
be a MCInstPrinter.
llvm-svn: 81746
2009-09-14 01:49:26 +00:00
Chris Lattner
27a850eb70
add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline.
...
llvm-svn: 81745
2009-09-14 01:43:38 +00:00
Chris Lattner
8da6598a75
tidy up a bit.
...
llvm-svn: 81744
2009-09-14 01:34:40 +00:00
Chris Lattner
c87179b542
slightly increase prettiness.
...
llvm-svn: 81742
2009-09-14 01:27:50 +00:00
Chris Lattner
c4a64a08ec
emit the register table as a massive string to avoid relocations.
...
llvm-svn: 81741
2009-09-14 01:26:18 +00:00
Chris Lattner
d823d97b3a
move StringToOffsetTable out to its own header.
...
llvm-svn: 81740
2009-09-14 01:19:16 +00:00
Chris Lattner
68ed8d21f8
factor string table generation out to its own class. This changes
...
the encoding of the AsmStrs table saving a byte or two.
llvm-svn: 81739
2009-09-14 01:16:36 +00:00
Nick Lewycky
e38e763387
Don't leak! Always remove oneself as a listener after adding oneself.
...
llvm-svn: 81736
2009-09-14 00:36:52 +00:00
Nick Lewycky
c4bde40e87
Actually remove old types from the set.
...
Also break the type verification stuff into its own TypeSet to keep the
Verifier pass from becoming an AbstractTypeUser.
llvm-svn: 81729
2009-09-13 23:45:39 +00:00
Chris Lattner
b88e0d1715
eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.
...
llvm-svn: 81728
2009-09-13 22:45:04 +00:00
Chris Lattner
fbe97bcd52
kill off the last use of TRI::AsmName.
...
llvm-svn: 81727
2009-09-13 22:42:03 +00:00
Chris Lattner
830f090c2e
add some special case handling for strangely named x86 registers.
...
llvm-svn: 81726
2009-09-13 22:41:48 +00:00
Daniel Dunbar
49c00ccc78
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: 81725
2009-09-13 22:39:27 +00:00
Chris Lattner
fff91a414b
unbreak this test by working around an asmparser bug.
...
llvm-svn: 81724
2009-09-13 22:28:17 +00:00
Chris Lattner
8724d994d0
'printMCInst' doesn't print newlines after instructions anymore.
...
llvm-svn: 81723
2009-09-13 22:24:34 +00:00
Oscar Fuentes
8edea46b44
CMake: New user-settable variable LLVM_TARGET_ARCH useful when
...
cross-compiling.
Patch by Xerxes Rånby!
llvm-svn: 81722
2009-09-13 22:18:38 +00:00
Nick Lewycky
d89dea7a2e
Update the tutorial to match changes to examples/Kaleidoscope.
...
One change I'm not folding in is the removal of two unused variables that
caused warnings, because those were there for expository purposes.
llvm-svn: 81721
2009-09-13 21:38:54 +00:00
Daniel Dunbar
b57fad2300
Move unittest driver to utils/unittest/UnitTestMain.
...
- This eliminates a race between building the unittests and linking the
UnitTestMain library.
llvm-svn: 81719
2009-09-13 21:31:21 +00:00
Daniel Dunbar
8e0f9e60d7
Remove unused variables.
...
llvm-svn: 81718
2009-09-13 21:31:07 +00:00
Nick Lewycky
9b6c23aba0
Storing a set of PATypeHolders is a bad idea because their sort order will
...
change as types are refined. Remove abstract types from CheckedTypes when they
we're informed that they have been refined. The only way types get refined in
the verifier is when later function passes start optimizing. Fixes PR4970.
llvm-svn: 81716
2009-09-13 21:07:59 +00:00
Chris Lattner
334aa7a1d4
remove all but one reference to TargetRegisterDesc::AsmName.
...
llvm-svn: 81714
2009-09-13 20:31:40 +00:00
Chris Lattner
20b7392123
the tblgen produced 'getRegisterName' method does not access
...
the object, make it static instead of const.
llvm-svn: 81711
2009-09-13 20:19:22 +00:00
Chris Lattner
31c7141542
switch the x86 asmprinters to use getRegisterName instead
...
of getting it from TRI, inst printing now is codegen context
free!
llvm-svn: 81710
2009-09-13 20:15:16 +00:00
Mikhail Glushenkov
cea934f803
Fix a small issue with recent changes to this code.
...
The 'false.c' file wasn't being used.
llvm-svn: 81709
2009-09-13 20:14:57 +00:00
Chris Lattner
0cde5283e3
make tblgen produce a function that returns the name for a physreg.
...
Nothing is using this info yet.
llvm-svn: 81707
2009-09-13 20:08:00 +00:00
Chris Lattner
1e264d7506
eliminate an extraneous use of TRI::getAsmName in a comment.
...
llvm-svn: 81705
2009-09-13 19:48:37 +00:00
Chris Lattner
fb0e41caef
make intel asmprinter use TRI::getAsmName instead of TRI::getName like
...
all the other targets. Add support for weak/linkonce linkage so it doesn't
crash on basically all nontrivial testcases.
llvm-svn: 81704
2009-09-13 19:44:38 +00:00