Anton Korobeynikov [Thu, 16 Jul 2009 14:07:50 +0000 (14:07 +0000)]
Add jump tables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75984
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:07:24 +0000 (14:07 +0000)]
Exapnd br_jt into indirect branch. Provide pattern for indirect branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75983
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:07:06 +0000 (14:07 +0000)]
Implement 64 bit immediates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75982
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:06:49 +0000 (14:06 +0000)]
Add rotates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75981
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:06:27 +0000 (14:06 +0000)]
Add patterns for integer negate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75980
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:06:00 +0000 (14:06 +0000)]
Provide proper patterns for and with imm instructions. Tune the tests accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75979
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:05:32 +0000 (14:05 +0000)]
Add 32 bit and reg-imm and disable invalid patterns for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75978
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:05:00 +0000 (14:05 +0000)]
Add z9 and z10 target processors. Mark z10-only instructions as such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75977
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:04:38 +0000 (14:04 +0000)]
Fix MUL64rm instruction asmprinting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75976
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:04:22 +0000 (14:04 +0000)]
Preliminary asmprinting of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75975
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:04:01 +0000 (14:04 +0000)]
Implement asmprinting for odd-even regpairs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75974
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:03:41 +0000 (14:03 +0000)]
32-bit ri addressing mode has only 12-bit displacement
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75973
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:03:24 +0000 (14:03 +0000)]
Forgot to add
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75972
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:03:08 +0000 (14:03 +0000)]
Do not put bunch of target-specific stuff into common namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75971
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:02:45 +0000 (14:02 +0000)]
Print signed imms properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75970
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:01:27 +0000 (14:01 +0000)]
Provide hooks for spilling / restoring stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75969
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:01:10 +0000 (14:01 +0000)]
Revert thinko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75968
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:00:42 +0000 (14:00 +0000)]
Temporary workaround problem with signed 32-bit imm's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75967
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 14:00:10 +0000 (14:00 +0000)]
Implement InsertBranch() hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75966
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:59:49 +0000 (13:59 +0000)]
Pipehole pattern for i32 imm's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75965
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:59:18 +0000 (13:59 +0000)]
Bunch of sext_inreg patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75964
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:58:43 +0000 (13:58 +0000)]
Provide normal 32 bit load and store
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75963
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:58:24 +0000 (13:58 +0000)]
Proper lower 'small' results
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75962
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:57:52 +0000 (13:57 +0000)]
Completel forgot about unconditional branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75961
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:57:27 +0000 (13:57 +0000)]
Lower addresses of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75960
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:57:03 +0000 (13:57 +0000)]
Test (incomplete) for easy muls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75959
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:56:42 +0000 (13:56 +0000)]
Provide "wide" muls and divs/rems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75958
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:56:11 +0000 (13:56 +0000)]
Fix thinko
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75957
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:55:51 +0000 (13:55 +0000)]
Fix epic bug with invalid regclass for R0D
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75956
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:55:26 +0000 (13:55 +0000)]
Let RegisterInfo decide whether it can emit cross-class copy or not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75955
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:55:04 +0000 (13:55 +0000)]
More register pairs (now 32 bit ones)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75954
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:54:45 +0000 (13:54 +0000)]
Add even-odd register pairs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75953
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:54:20 +0000 (13:54 +0000)]
Unbreak due to mainline api change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75952
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:53:55 +0000 (13:53 +0000)]
Preliminary mul lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75951
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:53:35 +0000 (13:53 +0000)]
More extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75950
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:53:15 +0000 (13:53 +0000)]
Tests for cmp / br_cc / select_cc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75949
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:52:51 +0000 (13:52 +0000)]
SELECT_CC lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75948
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:52:31 +0000 (13:52 +0000)]
Conditional branches and comparisons
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75947
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:52:10 +0000 (13:52 +0000)]
Emit correct offset for PseudoSourceValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75946
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:51:53 +0000 (13:51 +0000)]
Provide proper stack offsets for outgoing arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75945
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:51:34 +0000 (13:51 +0000)]
Change register allocation order to reduce amount of callee-saved regs to be spilled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75944
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:51:12 +0000 (13:51 +0000)]
Emit callee-saved regs spills / restores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75943
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:50:40 +0000 (13:50 +0000)]
Scan for presence of calls and determine max callframe size early. To allow ProcessFunctionBeforeCalleeSaveScan() use this information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75942
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:50:21 +0000 (13:50 +0000)]
Some preliminary call lowering
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75941
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:49:49 +0000 (13:49 +0000)]
Prologue / epilogue emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75940
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:49:25 +0000 (13:49 +0000)]
Add simple frame index elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75939
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:48:59 +0000 (13:48 +0000)]
Provide proper test :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75938
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:48:42 +0000 (13:48 +0000)]
Swap the order of imm and idx field for rri addrmode in order to make handling of rri and ri addrmodes common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75937
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:48:23 +0000 (13:48 +0000)]
Do not truncate sign bits for negative imms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75936
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:47:59 +0000 (13:47 +0000)]
Add address computation stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75935
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:47:36 +0000 (13:47 +0000)]
Cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75934
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:47:14 +0000 (13:47 +0000)]
Add mem-imm stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75933
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:45:22 +0000 (13:45 +0000)]
[PATCH 023/155] Typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75932
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:45:00 +0000 (13:45 +0000)]
Add stores and truncstores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75931
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:44:30 +0000 (13:44 +0000)]
Add patterns for various extloads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75930
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:44:00 +0000 (13:44 +0000)]
Do some heroic rri address matching (shamelessly stolen from x86 backend). Not tested though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75929
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:43:40 +0000 (13:43 +0000)]
Change register allocation order, so R0 will be allocated the last among scratch. This will make address-calculation code much more happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75928
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:43:18 +0000 (13:43 +0000)]
Add shifts and reg-imm address matching
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75927
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:42:31 +0000 (13:42 +0000)]
Add bunch of 32-bit patterns... Uffff :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75926
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:35:48 +0000 (13:35 +0000)]
Propagate return result extension type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75925
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 16 Jul 2009 13:35:42 +0000 (13:35 +0000)]
Add tests for fixes I committed earlier to the C++ FE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75924
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:35:30 +0000 (13:35 +0000)]
Add 32 bit subregs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75923
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:35:08 +0000 (13:35 +0000)]
Add another bunch of reg-imm patterns for add/or/and/xor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75922
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:34:50 +0000 (13:34 +0000)]
Add bunch of reg-imm movs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75921
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:34:24 +0000 (13:34 +0000)]
Proper match halfword-imm operands for mov and add
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75920
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:33:57 +0000 (13:33 +0000)]
Provide masked reg-imm 'or' and 'and'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75919
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:33:21 +0000 (13:33 +0000)]
Fix test running lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75918
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:32:49 +0000 (13:32 +0000)]
Add reg-reg and pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75917
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:32:16 +0000 (13:32 +0000)]
Add sub reg-reg pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75916
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:31:28 +0000 (13:31 +0000)]
Add xor reg-reg pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75915
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:30:53 +0000 (13:30 +0000)]
Add or reg-reg pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75914
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:30:15 +0000 (13:30 +0000)]
Add add reg-reg and reg-imm patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75913
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:29:38 +0000 (13:29 +0000)]
Add simple reg-reg and reg-imm moves
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75912
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:28:59 +0000 (13:28 +0000)]
Minimal lowering for formal_arguments / ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75911
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:28:22 +0000 (13:28 +0000)]
Add testsuite dir for systemz stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75910
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 16 Jul 2009 13:27:25 +0000 (13:27 +0000)]
Let's start another backend :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75909
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 16 Jul 2009 12:50:48 +0000 (12:50 +0000)]
Combine an unaligned store of unaligned load into a memmove.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75908
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 16 Jul 2009 12:41:34 +0000 (12:41 +0000)]
Lower the threshold at which memcpy / memmove / memset stop being expanded
inline in the XCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75906
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 16 Jul 2009 10:48:47 +0000 (10:48 +0000)]
Fix typo in last commit on expansion of unaligned loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75903
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 16 Jul 2009 10:42:35 +0000 (10:42 +0000)]
Expand unaligned 32 bit loads from an address which is a constant
offset from a 32 bit aligned base as follows:
ldw low, base[offset >> 2]
ldw high, base[(offset >> 2) + 1]
shr low_shifted, low, (offset & 0x3) * 8
shl high_shifted, high, 32 - (offset & 0x3) * 8
or result, low_shifted, high_shifted
Expand 32 bit loads / stores with 16 bit alignment into two 16 bit
loads / stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75902
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Thu, 16 Jul 2009 10:21:18 +0000 (10:21 +0000)]
Custom lower unaligned 32 bit stores and loads into libcalls. This is
a big code size win since before they were expanding to upto 16
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75901
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 16 Jul 2009 09:20:10 +0000 (09:20 +0000)]
Let callers decide the sub-register index on the def operand of rematerialized instructions.
Avoid remat'ing instructions whose def have sub-register indices for now. It's just really really hard to get all the cases right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 06:31:37 +0000 (06:31 +0000)]
use SUBREG_TO_REG instead of INSERT_SUBREG, this way the code
generator can know the top bits are zero, not undefined.
Thanks to Dan for pointing this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75899
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 16 Jul 2009 06:26:41 +0000 (06:26 +0000)]
Fix coding style issues pointed by Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 06:17:45 +0000 (06:17 +0000)]
add a knob to turn off PrettyStackTrace globally. Patch by Zoltan
Varga!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75897
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 06:14:39 +0000 (06:14 +0000)]
implement .include in the lexer/parser instead of passing it into the streamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 04:34:33 +0000 (04:34 +0000)]
fix some casts that I improperly refactored, patch by Artur Pietrek!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75894
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 04:01:35 +0000 (04:01 +0000)]
Remove unused header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75893
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 02:41:19 +0000 (02:41 +0000)]
Kill off last uses of TargetMachineRegistry class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75892
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 02:38:28 +0000 (02:38 +0000)]
Fix gcc 4.0 build failure, can't rely on access inside nested friended class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75891
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 02:23:53 +0000 (02:23 +0000)]
Switch llc and createJIT to use simpler command line parsing for -march.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75890
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 02:06:09 +0000 (02:06 +0000)]
Add registered target list to --version output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75889
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 02:04:54 +0000 (02:04 +0000)]
Make sure targets are initialized before we do anything, even command line
processing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75888
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 01:55:13 +0000 (01:55 +0000)]
Kill off <TARGET>MachineModule variables, and <TARGETASMPRINTER>ForceLink
variables.
- Module initialization functions supplanted the need for these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75886
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 16 Jul 2009 01:32:46 +0000 (01:32 +0000)]
formatted_raw_ostream both is-a raw_ostream and has-a raw_ostream. This
means that two separate raw_ostreams are doing buffering before data is
sent to the underlying stream. Besides the inefficiency of redundant
buffering, the second level of buffering doesn't recieve flush()
requests.
Fix this by having formatted_raw_ostream set the underlying raw_ostream
to be unbuffered. This eliminates inefficiency due to redundant buffering,
and it makes the flush() disconnect harmless.
This fixes PR4559.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 Jul 2009 01:23:26 +0000 (01:23 +0000)]
fix section switching to ensure that stubs are emitted to the right
section on ppc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75881
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 01:13:00 +0000 (01:13 +0000)]
Add explicit comment that clients can call target initialization functions
multiple times.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75880
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 16 Jul 2009 01:01:22 +0000 (01:01 +0000)]
Skip special LLVM prefix '1' while emitting linknage name.
This prefix is used by LLVM to inform the asm printer to not emit usual global symbol prefix before the symbol name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75875
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 00:43:36 +0000 (00:43 +0000)]
Regerate CMake library dependencies.
- Added a sed script to do this in the comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75872
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 16 Jul 2009 00:35:05 +0000 (00:35 +0000)]
Kill off cmake magic to force linking.
- This isn't needed anymore, we require clients to call the appropriate
initialization routines using TargetSelect.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75871
91177308-0d34-0410-b5e6-
96231b3b80d8