Evan Cheng
718ff448df
storeRegToStackSlot has forgotten about QPR_8 register class.
...
llvm-svn: 103154
2010-05-06 01:32:54 +00:00
Dan Gohman
ef969f3539
Handle EWOULDBLOCK as EAGAIN. And add a comment explaining why
...
EAGAIN and EWOULDBLOCK are used here.
Also, handle the case where a write call is interrupted after
some data has already been written.
llvm-svn: 103153
2010-05-06 01:27:36 +00:00
Chris Lattner
b903a15807
make -filetype=obj default to emitting its output to foo.obj
...
when on windows instead of foo.o. Patch by Nathan Jeffords!
llvm-svn: 103150
2010-05-06 00:54:20 +00:00
Dan Gohman
47d04e3e41
Update LabelsBeforeInsn also, when creating unknown-position labels.
...
llvm-svn: 103145
2010-05-06 00:29:41 +00:00
Douglas Gregor
e902956f59
Partial and full specializations of a class template may have a
...
different tag kind ("struct" vs. "class") than the primary template,
which has an affect on access control.
Should fix the last remaining Boost.Accumulors failure.
llvm-svn: 103144
2010-05-06 00:28:52 +00:00
Ted Kremenek
5b0773e201
Workaround a really serious caching bug in SourceManager::isBeforeInTranslationUnit() where the
...
method will sometimes return different results for the same input SourceLocations. I haven't
unraveled this method completely yet, so this truly is a workaround until a better fix comes
along.
llvm-svn: 103143
2010-05-06 00:22:25 +00:00
Chandler Carruth
f3983652eb
Clean up the {} and else placement. This fixes an ambiguous else as well as
...
picking a more consistent pattern.
llvm-svn: 103142
2010-05-06 00:20:39 +00:00
Chandler Carruth
27c9fe9f8b
Silence a pedantic GCC warning by making the grouping of && and || explicit.
...
llvm-svn: 103141
2010-05-06 00:15:06 +00:00
Chris Lattner
35096e82c5
Fix PR7054 - Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' failed.
...
Users can write broken code that emits the same label twice with asm renaming,
detect this and emit a fatal backend error instead of aborting.
llvm-svn: 103140
2010-05-06 00:05:37 +00:00
Dan Gohman
a7c717d8d4
In bottom-up mode, defer the materialization of local constant values.
...
llvm-svn: 103139
2010-05-06 00:02:14 +00:00
Dan Gohman
ffcb590b0f
Add an "IsBottomUp" member function to FastISel, which will be used to
...
support a new bottom-up mode.
llvm-svn: 103138
2010-05-05 23:58:35 +00:00
Chris Lattner
482fa218d4
fix rdar://7946934 - in some limited cases, the assembler should
...
allow $ at the start of a symbol name.
llvm-svn: 103137
2010-05-05 23:51:28 +00:00
Jim Grosbach
151cd8f159
Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack
...
instructions to subtarget features and update tests to reflect.
PR5717.
llvm-svn: 103136
2010-05-05 23:44:43 +00:00
Dan Gohman
50849c63e4
Emit debug info for MachineInstrs with unknown debug locations, instead
...
of just letting them inherit the debug locations of adjacent instructions.
Debug info should aim to be either accurate or absent.
llvm-svn: 103135
2010-05-05 23:41:32 +00:00
Chris Lattner
966a382ae7
Fix some ..'s
...
llvm-svn: 103134
2010-05-05 23:29:09 +00:00
Jakob Stoklund Olesen
1b6f698e85
Fix PR6520. An earlyclobber physreg must not be allocated to anything else.
...
llvm-svn: 103133
2010-05-05 23:07:41 +00:00
John McCall
eebc832f43
Add IgnoreParenImpCasts() to Expr, which is basically like IgnoreParenCasts
...
except it only skips implicit casts.
Also fix ObjCImplicitGetterSetterRefExpr's child_begin to skip the base expression
if it's actually a type reference (which you get with static property references).
llvm-svn: 103132
2010-05-05 22:59:52 +00:00
Chris Lattner
3baada6fd7
Pass the globaldecl into GetOrCreateLLVMFunction so that llvm
...
function attributes like byval get applied to the function
definition. This fixes PR7058 and makes i386 llvm/clang bootstrap
pass all the same tests as x86-64 bootstrap for me (the llvmc
tests still fail in both).
llvm-svn: 103131
2010-05-05 22:55:13 +00:00
Stuart Hastings
7e60a6bd71
Test case for pr2394 and r102979.
...
llvm-svn: 103129
2010-05-05 22:49:33 +00:00
Sean Callanan
4cd930f417
Fixed a sign-extension bug in the X86 disassembler
...
that was causing PC-relative branch targets to be
evaluated incorrectly. Also added support for
checking operand values to the llvm-mc tester.
llvm-svn: 103128
2010-05-05 22:47:27 +00:00
Douglas Gregor
bf1fb44efa
When implicit definition of the copy-assignment operator fails,
...
provide a note that shows where the copy-assignment operator was
needed. We used to have this, but I broke it during refactoring.
Finishes PR6999.
llvm-svn: 103127
2010-05-05 22:38:15 +00:00
Devang Patel
92b21cad5d
Use getValue() for PHINodes when direct NodeMap access does not work.
...
llvm-svn: 103126
2010-05-05 22:29:00 +00:00
Bob Wilson
0d545607f7
Select an ARM-hosted cross build with a separate makefile target instead of
...
a magic project name.
llvm-svn: 103125
2010-05-05 22:22:40 +00:00
Evan Cheng
61908f6b6c
Do not pre-allocate references of D registers pairs if they are extracted from the same Q register and are in the right order.
...
llvm-svn: 103124
2010-05-05 22:15:40 +00:00
Fariborz Jahanian
25491a22af
This patch deals with Sema Part of Setter/Getter synthesis
...
of properties which are of C++ objects. Code Gen to follow
(Radar 7468090).
llvm-svn: 103123
2010-05-05 21:52:17 +00:00
Jim Grosbach
245b169212
fix copy/paste oops.
...
llvm-svn: 103122
2010-05-05 21:07:46 +00:00
Dan Gohman
f62cd20b62
No-ops emitted for scheduling don't correspond with anything in the
...
user's source, so don't arbitrarily assign them a debug location.
llvm-svn: 103121
2010-05-05 20:58:01 +00:00
Jim Grosbach
44d7f49887
Add tests for ARMV7M divide instruction use
...
llvm-svn: 103120
2010-05-05 20:47:15 +00:00
Jim Grosbach
92d999001c
Add initial support for ARMv7M subtarget and cortex-m3 cpu. Patch by
...
Jordy <snhjordy@gmail.com>.
Followup patches will add some tests and adjust to use Subtarget features
for the instructions.
llvm-svn: 103119
2010-05-05 20:44:35 +00:00
Bob Wilson
0c8b29bcdb
Use the right version of "append" to combine two SmallVectors.
...
This fixes the compile-time regressions seen in last night's tests.
llvm-svn: 103118
2010-05-05 20:44:15 +00:00
Douglas Gregor
d450f06ef4
When we emit a non-constant initializer for a global variable of
...
reference type, make sure that the initializer we build is the
of the appropriate type for the *reference*, not for the thing that it
refers to. Fixes PR7050.
llvm-svn: 103115
2010-05-05 20:15:55 +00:00
Jim Grosbach
e36cd72e38
remove unneeded underscores.
...
llvm-svn: 103114
2010-05-05 19:55:58 +00:00
Jim Grosbach
5ced648ba8
Convert to filecheck
...
llvm-svn: 103113
2010-05-05 19:41:11 +00:00
Daniel Dunbar
f3a53baf00
MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for
...
writing them.
- <rdar://problem/7885351> integrated assembler broken for i386 objc code
llvm-svn: 103112
2010-05-05 19:01:05 +00:00
Daniel Dunbar
deb7ba9cc0
MC: Reject attempts to define a variable symbol.
...
llvm-svn: 103111
2010-05-05 19:01:00 +00:00
Daniel Dunbar
8557426958
MC: Make setVariableValue check the redefinition condition a bit more strongly.
...
llvm-svn: 103110
2010-05-05 19:00:56 +00:00
Evan Cheng
4b6abd8c2b
Move REG_SEQUENCE removal to 2addr pass.
...
llvm-svn: 103109
2010-05-05 18:45:40 +00:00
Chris Lattner
d7f69cb7ef
Implement rdar://7415680 - Twine integer support lacks greatness
...
Microoptimize Twine's with unsigned and int to not pin their value to
the stack. This saves stack space in common cases and allows mem2reg
in the caller. A simple example is:
void foo(const Twine &);
void bar(int x) {
foo("xyz: " + Twine(x));
}
Before:
__Z3bari:
subq $40, %rsp
movl %edi, 36(%rsp)
leaq L_.str3(%rip), %rax
leaq 36(%rsp), %rcx
leaq 8(%rsp), %rdi
movq %rax, 8(%rsp)
movq %rcx, 16(%rsp)
movb $3, 24(%rsp)
movb $7, 25(%rsp)
callq __Z3fooRKN4llvm5TwineE
addq $40, %rsp
ret
After:
__Z3bari:
subq $24, %rsp
leaq L_.str3(%rip), %rax
movq %rax, (%rsp)
movslq %edi, %rax
movq %rax, 8(%rsp)
movb $3, 16(%rsp)
movb $7, 17(%rsp)
leaq (%rsp), %rdi
callq __Z3fooRKN4llvm5TwineE
addq $24, %rsp
ret
It saves 16 bytes of stack and one instruction in this case.
llvm-svn: 103107
2010-05-05 18:40:33 +00:00
Jeffrey Yasskin
1a74a44bf9
Rearrange the suppressions files to be by-architecture instead of by-problem.
...
ddunbar says the gcc-4.3.3 suppressions are obsolete.
llvm-svn: 103106
2010-05-05 18:39:16 +00:00
Evan Cheng
d85631e700
Model CONCAT_VECTORS of two 64-bit values as a REG_SEQUENCE.
...
llvm-svn: 103104
2010-05-05 18:28:36 +00:00
Evan Cheng
5ab29366b5
Trim include.
...
llvm-svn: 103103
2010-05-05 18:27:57 +00:00
Evan Cheng
38d9a6f805
Teach liveintervalanalysis about virtual registers which are defined by reg_sequence instructions that are formed by registers defined by distinct instructions. e.g.
...
80 %reg1041:6<def> = VSHRNv4i16 %reg1034<kill>, 12, pred:14, pred:%reg0
. . .
120 %reg1041:5<def> = VSHRNv4i16 %reg1039<kill>, 12, pred:14, pred:%reg0
llvm-svn: 103102
2010-05-05 18:27:40 +00:00
Jeffrey Yasskin
4ad4fbd885
Add a suppressions file for an intermittent "leak" under RegisterPass.
...
llvm-svn: 103100
2010-05-05 18:15:26 +00:00
Daniel Dunbar
7a989da0af
MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.
...
llvm-svn: 103095
2010-05-05 17:41:00 +00:00
Daniel Dunbar
027fa5f31c
MC/Mach-O/x86_64: Relocations in debug sections should use local relocations
...
when possible.
- <rdar://problem/7934873>
llvm-svn: 103092
2010-05-05 17:22:39 +00:00
Daniel Dunbar
d6e76fb20c
lit: Allow test_format to be None.
...
llvm-svn: 103091
2010-05-05 17:22:35 +00:00
mike-m
6fa3cd26e9
Test commit.
...
llvm-svn: 103090
2010-05-05 17:00:31 +00:00
Douglas Gregor
370eadf38d
For thread-safe static initialization of local statics with
...
destructors, place the __cxa_atexit call after the __cxa_guard_release
call, mimicking GCC/LLVM-GCC behavior. Noticed while debugging
something related.
llvm-svn: 103088
2010-05-05 15:38:32 +00:00
Alexis Hunt
656bb314d9
Reapplying patch to change StmtNodes.def to StmtNodes.td, this time
...
with no whitespace. This will allow statements to be referred to in
attribute TableGen files.
llvm-svn: 103087
2010-05-05 15:24:00 +00:00
Alexis Hunt
a8136cc408
Revert r103072; I accidentally ended up deleting a bunch of trailing
...
whitespace which makes this patch unreadable. Will recommit without the
whitespace.
llvm-svn: 103086
2010-05-05 15:23:54 +00:00