Sanjiv Gupta
5a28f85997
Return dir separator as per platform.
...
llvm-svn: 75119
2009-07-09 08:17:55 +00:00
Chris Lattner
7fcfc81604
simplify this logic a bit more.
...
llvm-svn: 75118
2009-07-09 07:02:30 +00:00
Chris Lattner
1614fd5095
move reasoning about darwin $non_lazy_ptr stubs from asmprinter into
...
isel.
llvm-svn: 75117
2009-07-09 06:59:17 +00:00
Evan Cheng
4f87295872
Targets sometimes assign fixed stack object to spill certain callee-saved
...
registers based on dynamic conditions. For example, X86 EBP/RBP, when used as
frame register has to be spilled in the first fixed object. It should inform
PEI this so it doesn't get allocated another stack object. Also, it should not
be spilled as other callee-saved registers but rather its spilling and restoring
are being handled by emitPrologue and emitEpilogue. Avoid spilling it twice.
llvm-svn: 75116
2009-07-09 06:53:48 +00:00
Evan Cheng
fad8f9bea1
Reorg includes.
...
llvm-svn: 75115
2009-07-09 06:49:09 +00:00
Chris Lattner
f2112b9d1a
add default ctor.
...
llvm-svn: 75114
2009-07-09 06:44:01 +00:00
Chris Lattner
9feb73cd75
rearrange some code, no functionality change.
...
llvm-svn: 75113
2009-07-09 06:41:35 +00:00
Chris Lattner
36eaa356a4
make direct calls set MO_PLT or MO_DARWIN_STUB as appropriate with fast isel.
...
llvm-svn: 75112
2009-07-09 06:34:26 +00:00
Nick Lewycky
8fde54aae1
Don't create undefined symbols for aliases.
...
llvm-svn: 75111
2009-07-09 06:03:04 +00:00
Chris Lattner
5367b4a5bd
reduce nesting by rearranging branches.
...
llvm-svn: 75110
2009-07-09 05:55:04 +00:00
Chris Lattner
f6ad5e86c4
make isel use MO_PIC_BASE_OFFSET when lowering globalvalues on darwin in pic
...
mode, instead of having asmprinter just "know" to print them.
llvm-svn: 75109
2009-07-09 05:47:33 +00:00
Chris Lattner
c58c66f250
various minor cleanups, no functionality change.
...
llvm-svn: 75108
2009-07-09 05:42:07 +00:00
Chris Lattner
f42a8c82d9
make isel decide whether to emit $stub's on darwin instead of asmprinter.
...
llvm-svn: 75107
2009-07-09 05:27:35 +00:00
Chris Lattner
e144356fba
pc-relative references are *always* to functions, never to globals. ISel
...
is incapable of lowering direct references to globals like this, zap the code.
llvm-svn: 75106
2009-07-09 05:19:23 +00:00
Chris Lattner
ec30d37e60
make cygwin use its own stubs set, instead of overloading a darwin one.
...
llvm-svn: 75105
2009-07-09 05:09:24 +00:00
Chris Lattner
06266970b0
Make isel determine where to emit PLT-relative calls instead of having
...
asmprinter do it.
llvm-svn: 75104
2009-07-09 05:02:21 +00:00
Chris Lattner
c31744f99b
add missing predicate.
...
llvm-svn: 75103
2009-07-09 04:56:23 +00:00
Chris Lattner
2e128cac89
isPICStyleStub() is now never true in -static mode, so simplify code.
...
llvm-svn: 75102
2009-07-09 04:43:12 +00:00
Chris Lattner
76adfe755d
simplify some code based on the fact that picstyles != none are only valid
...
in pic or dynamic-no-pic mode. Also, x86-64 never used picstylegot.
llvm-svn: 75101
2009-07-09 04:39:06 +00:00
Chris Lattner
0ee57926e4
all this logic always returns true because GOT mode is never active in x86-64 mode.
...
Simplify it away, someone should evaluate this.
llvm-svn: 75100
2009-07-09 04:27:47 +00:00
Chris Lattner
f7ea4f5067
isPICStyleRIPRel() and friends are never true in -static mode.
...
Simplify code based on this.
llvm-svn: 75099
2009-07-09 04:24:46 +00:00
Nick Lewycky
d18c73933e
Move PR4517 to README.txt.
...
llvm-svn: 75098
2009-07-09 04:03:30 +00:00
Lang Hames
ceb80b14d3
Improved tracking of value number kills. VN kills are now represented
...
as an (index,bool) pair. The bool flag records whether the kill is a
PHI kill or not. This code will be used to enable splitting of live
intervals containing PHI-kills.
A slight change to live interval weights introduced an extra spill
into lsr-code-insertion (outside the critical sections). The test
condition has been updated to reflect this.
llvm-svn: 75097
2009-07-09 03:57:02 +00:00
Chris Lattner
c21f898300
.o file writing shouldn't mess around with pic/relo models like the JIT does.
...
llvm-svn: 75096
2009-07-09 03:40:30 +00:00
Chris Lattner
ee29d5d753
move a hack out of the asm-printer specific path to the main target selection path.
...
llvm-svn: 75095
2009-07-09 03:37:30 +00:00
Chris Lattner
afa2741cc0
many more cleanups, for example if in the "none" pic-style,
...
make sure we're set to static codegen. Simplify the decision
tree of target->picstyle/picmode settings.
llvm-svn: 75094
2009-07-09 03:32:31 +00:00
Chris Lattner
b5ce27ffe6
Reduce indentation in GVRequiresExtraLoad. Return true for windows
...
with DLLImport symbols even when in -static mode.
llvm-svn: 75093
2009-07-09 03:27:27 +00:00
Chris Lattner
cd52f7f20e
When in -static mode, force the PIC style to none. Doing this requires fixing
...
code which conflated RIPRel PIC with x86-64. Fix these to just check for X86-64
directly.
llvm-svn: 75092
2009-07-09 03:15:51 +00:00
Chris Lattner
fb40a495b0
merge two identical functions and simplify things that are GOT specific
...
llvm-svn: 75091
2009-07-09 02:55:47 +00:00
Chris Lattner
47173f26e4
hoist check for IsTailCall to callers. Eliminate redundant check for
...
x86-64: GOT-style PIC is never used on x86-64.
llvm-svn: 75090
2009-07-09 02:46:53 +00:00
Chris Lattner
255e408e78
change a few methods to be static functions.
...
llvm-svn: 75089
2009-07-09 02:44:11 +00:00
Chris Lattner
af31be8192
one more added assert.
...
llvm-svn: 75088
2009-07-09 02:43:55 +00:00
Chris Lattner
ee12a671e5
remove eh, convert to FileCheck style
...
llvm-svn: 75087
2009-07-09 01:07:22 +00:00
Chris Lattner
5cdf9d71f5
move handling of dllimport linkage in isel, not in asmprinter.
...
llvm-svn: 75086
2009-07-09 00:58:53 +00:00
Chris Lattner
9aa10daa2d
we have no tests for dllimport/export. Add one.
...
llvm-svn: 75085
2009-07-09 00:53:44 +00:00
Jeffrey Yasskin
a34904f9f8
Work around an ICE in gcc-4.2.4.
...
llvm-svn: 75084
2009-07-09 00:52:44 +00:00
Chris Lattner
428267bc11
one more assertion!
...
llvm-svn: 75083
2009-07-09 00:49:29 +00:00
Chris Lattner
49def58ec8
add some more assertions. Remove code to handle dllimport on darwin.
...
llvm-svn: 75082
2009-07-09 00:47:59 +00:00
Dan Gohman
01912bc556
Make SelectionDAG::getVectorShuffle work properly for VECTOR_SHUFFLE
...
nodes with operand types that differ from the result type. (This
doesn't normally happen right now, because
SelectionDAGLowering::visitShuffleVector normalizes vector shuffles.)
llvm-svn: 75081
2009-07-09 00:46:33 +00:00
Chris Lattner
904ac2e074
remove "asmcall", using print_pcrel_imm instead of printOperand.
...
llvm-svn: 75080
2009-07-09 00:39:19 +00:00
Chris Lattner
c513c000af
simplify some logic
...
llvm-svn: 75079
2009-07-09 00:32:12 +00:00
Chris Lattner
f321f1f93f
* add some assertions for sanity checking.
...
* remove some old code that was needed when we'd put ESP in the scale instead of
the base of some instructions.
* Fix a bug with the P modifier in inline asm that caused us to drop it.
llvm-svn: 75077
2009-07-09 00:27:29 +00:00
Chris Lattner
9a419de980
stop on the first file mismatch.
...
llvm-svn: 75076
2009-07-09 00:19:21 +00:00
Chris Lattner
8747eae8e9
add a test for dale's recent change.
...
llvm-svn: 75074
2009-07-09 00:00:16 +00:00
Douglas Gregor
71dae1f1ba
Make SmallPtrSet iterators real iterators
...
llvm-svn: 75073
2009-07-08 23:53:54 +00:00
Owen Anderson
100c0c52f3
LLVMContext-ification.
...
llvm-svn: 75072
2009-07-08 23:50:31 +00:00
Chris Lattner
0122ff1be6
switch test to FileCheck-style and test the P and non-P cases.
...
llvm-svn: 75071
2009-07-08 23:44:06 +00:00
Chris Lattner
ddf2433b7b
rename a test to make it a feature test.
...
llvm-svn: 75070
2009-07-08 23:40:57 +00:00
David Goodwin
49fbd8d6b7
Use common code for both ARM and Thumb-2 instruction and register info.
...
llvm-svn: 75067
2009-07-08 23:10:31 +00:00
Chris Lattner
b6e82dd20c
* manually concatenate two string literals
...
* remove some dead code: darwin doesn't support dllimport linkage.
llvm-svn: 75066
2009-07-08 23:09:14 +00:00