1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 05:53:07 +01:00
Commit Graph

40304 Commits

Author SHA1 Message Date
Nate Begeman
73efed7a4c Remove dead PatLeaf; there are a number of issues around MMX movl that need to be fixed.
llvm-svn: 54026
2008-07-25 17:25:04 +00:00
Nate Begeman
d340dc3fab Tab removal
llvm-svn: 54025
2008-07-25 17:24:13 +00:00
Dan Gohman
1c8549fd7f Add a #include for the uses of uint64_t.
llvm-svn: 54016
2008-07-25 15:39:12 +00:00
Dan Gohman
6d394147f2 This test needs -aggressive-remat enabled.
llvm-svn: 54015
2008-07-25 15:25:32 +00:00
Dan Gohman
25c825ede1 Disable the new aggressive remat logic introduced in 54000; it causes some
regressions, such as PR2595. Also, there is a significant code-quality
issue in SPEC 464.h264ref and a few others.

llvm-svn: 54014
2008-07-25 15:08:37 +00:00
Mon P Wang
0fba42aefd When splitting a vector shuffle, fixed which type we used for the hi part
llvm-svn: 54007
2008-07-25 01:30:26 +00:00
Evan Cheng
d4eb684258 Teach ARM isLegalAddressingMode to handle unknown type without crashing. This fixes pr2589.
llvm-svn: 54004
2008-07-25 00:55:17 +00:00
Dan Gohman
3ede9e57a2 Add a #include <cassert>, since this file use assert.
llvm-svn: 54003
2008-07-25 00:44:19 +00:00
Dan Gohman
11a4531b1b Apply a patch from Mahadevan R, with minor formatting changes, to
workaround a GCC 3.3 bug observed on OpenBSD.

llvm-svn: 54002
2008-07-25 00:36:05 +00:00
Dan Gohman
68487f0859 Use AliasAnalysis::pointsToConstantMemory in SDISel to avoid unnecessary
dependencies with constant load nodes. This allows them to be scheduled
freely.

llvm-svn: 54001
2008-07-25 00:04:14 +00:00
Dan Gohman
680e1bd958 Enable rematerialization of constants using AliasAnalysis::pointsToConstantMemory,
and knowledge of PseudoSourceValues. This unfortunately isn't sufficient to allow
constants to be rematerialized in PIC mode -- the extra indirection is a
complication.

llvm-svn: 54000
2008-07-25 00:02:30 +00:00
Dan Gohman
1ecbcecdf3 Put the LICM of constant GlobalVariables, introduced in r53945, under a
command-line option, and disable it by default. It introduced performance
regressions because CodeGen is currently not able to remat such loads.

llvm-svn: 53997
2008-07-24 23:57:25 +00:00
Dan Gohman
da5c2b50b8 Add target triples so these tests behave as expected on non-darwin hosts.
llvm-svn: 53991
2008-07-24 18:08:01 +00:00
Dan Gohman
41eaf577d6 Avoid emitting casts in static initializer contexts. This fixes
large numbers of CBE regressions caused by r53958.

llvm-svn: 53990
2008-07-24 17:57:48 +00:00
Owen Anderson
cb7fb7aa4a Store the predecessor MBB in the PHIUnion, rather than an index, since the indices will change after renumbering.
llvm-svn: 53985
2008-07-24 17:12:16 +00:00
Evan Cheng
9c8cac5fd7 Fix a catastrophic PPC64 ABI bug: i32 operands which are passed in memory (all of the parameter registers are used) are loaded from sp offsets that were off by 4.
llvm-svn: 53979
2008-07-24 08:17:07 +00:00
Devang Patel
fb1364b2b5 Create temp. file in current path.
llvm-svn: 53973
2008-07-24 00:35:38 +00:00
Devang Patel
89a4804599 Identify llvm bit-code file that is causing linking failure in LTO mode.
llvm-svn: 53972
2008-07-24 00:34:11 +00:00
Evan Cheng
055f5e6ed0 New test case.
llvm-svn: 53971
2008-07-24 00:22:05 +00:00
Evan Cheng
e91c8c4508 Rename instance variables, parameter argument names to eliminate a bunch of compilation warnings with -Wshadow.
llvm-svn: 53970
2008-07-24 00:08:56 +00:00
Owen Anderson
08961cbffe Enable the insertion of empty indices into LiveInterals, thereby making renumbering possible.
llvm-svn: 53961
2008-07-23 21:37:49 +00:00
Owen Anderson
58d9213c3a Fix a compile-time regression introduced by my heuristic-changing patch. I forgot
to multiply the instruction count by a constant factor in a few places, which
caused the register allocator to require many more iterations.

llvm-svn: 53959
2008-07-23 19:47:27 +00:00
Dan Gohman
8d04607133 Use C99 aggregate literal syntax for first-class struct and array values.
This fixes several recent CBE regressions.

llvm-svn: 53958
2008-07-23 18:41:03 +00:00
Bruno Cardoso Lopes
3b775c0d28 Minor fixes.
Added ConstantPool support.

llvm-svn: 53951
2008-07-23 16:01:50 +00:00
Chris Lattner
e92598ef91 Make CreateBinOp/CreateNeg/CreateNot do constant folding.
llvm-svn: 53950
2008-07-23 06:58:10 +00:00
Chris Lattner
8eb899ecbc "Allow LICM to sink or lift loads from constant memory. Also add a test
case for this.

This allows instructions like loads from global variables declared to
be constant to be moved out of loops."

Patch by Stefanus Du Toit!

llvm-svn: 53945
2008-07-23 05:06:28 +00:00
Chris Lattner
94281a5c22 'Previously, the emacs tablegen mode would highlight constants even if
they appear in words. This would cause things like the "128" in "VR128"
to be highlighted. This patch fixes the highlighting by only recognizing 
constants when they have word breaks around them.'

Patch by Stefanus Du Toit!

llvm-svn: 53944
2008-07-23 04:49:20 +00:00
Dan Gohman
7f0f329344 Update the generated .cvs files.
llvm-svn: 53943
2008-07-23 00:54:54 +00:00
Dan Gohman
6564581be0 Enable first-class aggregates support.
Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.

The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.

llvm-svn: 53941
2008-07-23 00:34:11 +00:00
Evan Cheng
20c9cdbe69 Fix PR2485: do all 4-element SSE shuffles in max. of 2 shuffle instructions.
Based on patch by Nicolas Capens.

llvm-svn: 53939
2008-07-23 00:22:17 +00:00
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