40224 Commits

Author SHA1 Message Date
Duncan Sands
550e0de239 LegalizeTypes support for VSETCC. Fixes PR2575.
llvm-svn: 53938
2008-07-22 23:54:03 +00:00
Owen Anderson
7b8947cc31 Change the heuristics used in the coalescer, register allocator, and within
live intervals itself to use an instruction count approximation that is 
not affected by inserting empty indices.

llvm-svn: 53937
2008-07-22 22:46:49 +00:00
Devang Patel
f48125000e Quit early, if unable to reproduce error using original input files.
Quit, if unable to fix error when linker input files are all native object files.

llvm-svn: 53935
2008-07-22 22:20:18 +00:00
Evan Cheng
ff0bd19937 Factor out SSE 4 wide shuffle lowering code into its own function. No functionality changes.
llvm-svn: 53933
2008-07-22 21:13:36 +00:00
Evan Cheng
1aa928a8e6 Fix pr2566: incorrect assumption about bit_convert. It doesn't not have to output a vector value. Patch by Nicolas Capens!
llvm-svn: 53932
2008-07-22 20:42:56 +00:00
Dan Gohman
b7d67aaa88 Add insertvalue and extractvalue folding support in IRBuilder.
llvm-svn: 53931
2008-07-22 20:19:25 +00:00
Devang Patel
9fe33297d0 Remove temp. files in the end.
llvm-svn: 53930
2008-07-22 20:03:45 +00:00
Devang Patel
4057e8691a While creating temp. file on disk, if the current filename points to a existing directory then create new temp. file inside the directory.
llvm-svn: 53929
2008-07-22 20:02:39 +00:00
Evan Cheng
901d469e05 Fix PR2574: implement v2f32 scalar_to_vector.
llvm-svn: 53927
2008-07-22 18:39:19 +00:00
Dan Gohman
12c36eae69 IRBuilder support for insertvalue and extractvalue.
llvm-svn: 53926
2008-07-22 18:25:25 +00:00
Dan Gohman
7c7d8f931d Assert that the DAG root value is a chain value.
llvm-svn: 53925
2008-07-22 18:04:23 +00:00
Devang Patel
86c593ff1d Handle bitcode wrappers.
llvm-svn: 53924
2008-07-22 18:00:36 +00:00
Dan Gohman
727b49bc26 Make the GraphRoot edge look like a chain edge, which is more accurate,
and use the right result number, in the off chance that the graph root
has multiple result values.

llvm-svn: 53923
2008-07-22 17:52:59 +00:00
Anton Korobeynikov
af50b3159f Provide default implementation of different small-sections related stuff
llvm-svn: 53920
2008-07-22 17:09:59 +00:00
Anton Korobeynikov
090eca95ab Tie small stuff to non-small by default on ELF platforms
llvm-svn: 53919
2008-07-22 17:09:41 +00:00
Bruno Cardoso Lopes
a4a3546fec simplified small section logic
llvm-svn: 53912
2008-07-22 16:24:21 +00:00
Anton Korobeynikov
f13fbd6879 Fix encoding of atomic compare and swap for i64
llvm-svn: 53911
2008-07-22 16:22:48 +00:00
Bruno Cardoso Lopes
1253b2ac48 Added small section asm emition logic for mips.
Fixed small bug.

llvm-svn: 53908
2008-07-22 15:34:27 +00:00
Bruno Cardoso Lopes
96ab649026 Basic support for small sections
llvm-svn: 53907
2008-07-22 15:26:53 +00:00
Bill Wendling
d657157149 Remove more tabs.
llvm-svn: 53905
2008-07-22 09:08:05 +00:00
Bill Wendling
5e6c729e8b Remove another tab.
llvm-svn: 53904
2008-07-22 08:54:38 +00:00
Bill Wendling
1b355889f6 More tab removals.
llvm-svn: 53903
2008-07-22 08:50:44 +00:00
Bill Wendling
01f491daa7 Removing tabs.
llvm-svn: 53902
2008-07-22 07:14:12 +00:00
Bill Wendling
16bc3bde02 Use — because.
llvm-svn: 53901
2008-07-22 06:46:17 +00:00
Bill Wendling
e443475afb Remove references to llvm-gcc-4.0
llvm-svn: 53900
2008-07-22 01:37:48 +00:00
Bill Wendling
bb1f477008 Fix grammar.
llvm-svn: 53898
2008-07-22 01:10:25 +00:00
Bill Wendling
87b1a0950c Another buildbot test commit.
llvm-svn: 53896
2008-07-22 00:53:37 +00:00
Dan Gohman
634b43862d Correct the name of MachineMemOperand's include guard.
llvm-svn: 53895
2008-07-22 00:52:54 +00:00
Dan Gohman
184839a58d Fix a typo in a comment.
llvm-svn: 53894
2008-07-22 00:52:04 +00:00
Dan Gohman
cb26a8abeb Fix multiple-return-value-to-first-class-aggregates autoupgrade to
correctly handle the case where multiple-return-value constructs
were used to return one or zero values.

llvm-svn: 53890
2008-07-22 00:36:48 +00:00
Bill Wendling
e0e8ecd5e9 Trivial check-in to test buildbot. No functionality change.
llvm-svn: 53889
2008-07-22 00:28:47 +00:00
Dan Gohman
183bd17a66 InsertValue and ExtractValue constant expressions are always
folded. Remove code that handled the case where they aren't
folded, and remove bitcode reader/writer support for them.

llvm-svn: 53887
2008-07-21 23:30:30 +00:00
Devang Patel
0e9a854b14 Provide llvm bitcode file to native object file interface.
llvm-svn: 53886
2008-07-21 23:04:39 +00:00
Dan Gohman
e0ed9af577 Fix grammaros in comments.
llvm-svn: 53884
2008-07-21 22:38:59 +00:00
Dan Gohman
693339b859 Add the PR number to the test.
llvm-svn: 53880
2008-07-21 21:50:25 +00:00
Dan Gohman
8f7b6c8113 Fix a bug in LSR's dead-PHI cleanup. If a PHI has a def-use chain that
leads into a cycle involving a different PHI, LSR got stuck running
around that cycle looking for the original PHI. To avoid this, keep
track of visited PHIs and stop searching if we see one more than once.
This fixes PR2570.

llvm-svn: 53879
2008-07-21 21:45:02 +00:00
Dan Gohman
b024b0eedd Enhance the GraphWriter support for edge destinations, and teach the
SelectionDAG graph writer to make use of them. Now, nodes with multiple
values are displayed as such, with incoming edges pointing to the
specific value they use.

llvm-svn: 53875
2008-07-21 21:06:55 +00:00
Dan Gohman
dd84251894 After early-lowering the FORMAL_ARGUMENTS node, delete it.
llvm-svn: 53874
2008-07-21 21:04:07 +00:00
Evan Cheng
a2bb31372d Eliminate a compilation warning.
llvm-svn: 53873
2008-07-21 20:02:45 +00:00
Dan Gohman
b91bef08a7 Add titles to the various SelectionDAG viewGraph calls
that include useful information like the name of the
block being viewed and the current phase of compilation.

llvm-svn: 53872
2008-07-21 20:00:07 +00:00
Dan Gohman
8762ce04fd Make the GraphWriter be more consistent about the string
used for the graph "title" and the graph "label", as there
are differences in interpretation of these strings
between viewers.

llvm-svn: 53871
2008-07-21 19:57:57 +00:00
Dan Gohman
8a07776d39 Fix uses of underscore-capital names.
llvm-svn: 53870
2008-07-21 19:48:15 +00:00
Bruno Cardoso Lopes
e6a9345187 Added initial support for small sections on Mips.
Added gp_rel relocations to support addressing small section contents.
Added command line to specify small section threshold in bytes.

llvm-svn: 53869
2008-07-21 18:52:34 +00:00
Dan Gohman
8f718c75f0 Now that the MachineInstr leaks are fixed, enable leak checking
in the MachineInstr clone code.

llvm-svn: 53868
2008-07-21 18:47:29 +00:00
Bill Wendling
172aebf7b0 Temporary hack to build with GCC 4.0 instead of 4.2.
llvm-svn: 53860
2008-07-21 18:33:09 +00:00
Anton Korobeynikov
78bab0e7f2 Use better variable names
llvm-svn: 53859
2008-07-21 18:29:23 +00:00
Anton Korobeynikov
3d4c55bb7a Don't use larger alignment.
llvm-svn: 53857
2008-07-21 18:25:17 +00:00
Duncan Sands
6e31474e71 Add VerifyNode, a place to put sanity checks on
generic SDNode's (nodes with their own constructors
should do sanity checking in the constructor).  Add
sanity checks for BUILD_VECTOR and fix all the places
that were producing bogus BUILD_VECTORs, as found by
"make check".  My favorite is the BUILD_VECTOR with
only two operands that was being used to build a
vector with four elements!

llvm-svn: 53850
2008-07-21 10:20:31 +00:00
Evan Cheng
ffd51ccf6b Use movaps instead of movups to spill 16-byte vector values when default alignment is >= 16. This fixes some massive performance regressions.
llvm-svn: 53844
2008-07-21 06:34:17 +00:00
Nick Lewycky
cc7b41c130 Revert r53812 -- premature. LegalizeTypes isn't actually on yet!
llvm-svn: 53816
2008-07-21 04:03:00 +00:00