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
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