NAKAMURA Takumi
f4e6f323cb
test/CodeGen/X86/vec_cast.ll: Mark as XFAIL: migw,win32 for workaround of PR8311.
...
llvm-svn: 126195
2011-02-22 07:19:03 +00:00
NAKAMURA Takumi
9cb20ac2e8
test/CodeGen/X86/red-zone.ll: Add explicit -mtriple=x86_64-linux.
...
Redzone is not applicable on Win64.
llvm-svn: 126194
2011-02-22 07:18:55 +00:00
John McCall
9e2e22f5c6
Establish the iteration variable of an ObjC for-in loop before
...
emitting the collection expression. Fixes some really, really broken
code.
llvm-svn: 126193
2011-02-22 07:16:58 +00:00
Evan Cheng
666cf56668
Guard against de-referencing MBB.end().
...
llvm-svn: 126192
2011-02-22 07:07:59 +00:00
Evan Cheng
2ce663031f
available_externally (hidden or not) GVs are always accessed via stubs. rdar://9027648.
...
llvm-svn: 126191
2011-02-22 06:58:34 +00:00
Andrew Trick
842921dfc8
VirtRegRewriter assertion fix.
...
Apparently it's ok for multiple operands to "kill" the same register.
Fixes PR9237.
llvm-svn: 126190
2011-02-22 06:52:56 +00:00
John McCall
c533cb7008
Reorganize the emission of local variables.
...
llvm-svn: 126189
2011-02-22 06:44:22 +00:00
Ted Kremenek
fb1a79af7a
Add CStringChecker support for strncpy. Patch by Lenny Maiorani!
...
llvm-svn: 126188
2011-02-22 04:58:34 +00:00
Ted Kremenek
280a01fa1b
Add CStringChecker support for strnlen. Patch by Lenny Maiorani!
...
llvm-svn: 126187
2011-02-22 04:55:05 +00:00
NAKAMURA Takumi
f8a6e802f9
lib/CodeGen/TargetInfo.cpp: On Win64, arg i128 should be emitted as INDIRECT.
...
mingw-w64's i128 tweak should be done with x86_64-mingw32.
llvm-svn: 126186
2011-02-22 03:56:57 +00:00
Cameron Zwarich
f8b22b3483
Roll out r126169 and r126170 in an attempt to fix the selfhost bot.
...
llvm-svn: 126185
2011-02-22 03:24:52 +00:00
Douglas Gregor
6cd5ae4dfa
Fix a little bug in the handling of enumeration types with a fixed
...
underlying type: we weren't parsing unnamed enumeration types with a
fixed underlying type.
llvm-svn: 126184
2011-02-22 02:55:24 +00:00
Douglas Gregor
a78f193e7e
Warn about implicit conversions between values of different, named
...
enumeration types. Fixes <rdar://problem/8559831>.
llvm-svn: 126183
2011-02-22 02:45:07 +00:00
Sean Callanan
c1b7775e0f
Added a testcase for the enhanced disassembly bug
...
fixed in r126147, where a field in the X86 decode
structure was being read as bits, not bytes.
llvm-svn: 126182
2011-02-22 02:19:18 +00:00
Sean Callanan
5b23294799
Fixed llvm-mc in edis mode to use the result of
...
operand.evaluate as an error code, not as the
contents of the operand.
llvm-svn: 126181
2011-02-22 02:09:15 +00:00
Sean Callanan
7d2f87b9a8
Fixed lit.cfg to no longer recognize the old
...
edis name as needing expansion. This tool was
been replaced by llvm-mc long ago.
llvm-svn: 126180
2011-02-22 02:05:53 +00:00
Johnny Chen
01ceff367a
Add ARM encoding entries for "CMN (immediate)" and "CMN (register)" operations.
...
llvm-svn: 126179
2011-02-22 02:00:12 +00:00
Johnny Chen
5ea119468a
Add ARM encoding entries for "CMP (immediate)" and "CMP (register)" operations.
...
Add ARM/Thumb encoding entries for "CMN (immediate)" and "CMN (register)" operations,
with the EmulateCMNImm()/Reg() methods not implemented yet for now.
llvm-svn: 126178
2011-02-22 01:56:31 +00:00
Anders Carlsson
3320e1575f
Make clang -cc1 disable Objective-C exceptions by default, and add a -fobjc-exceptions flag to turn them on.
...
Update all tests accordingly.
llvm-svn: 126177
2011-02-22 01:52:06 +00:00
Eric Christopher
919772fd5d
Only use blx for external function calls on thumb, these could be fixed
...
up by the dynamic linker, but it's better to use the correct instruction
to begin with.
Fixes rdar://9011034
llvm-svn: 126176
2011-02-22 01:37:10 +00:00
Anders Carlsson
4fc229ef69
Move some Objective-C tests to SemaObjC and CodeGenObjC.
...
llvm-svn: 126175
2011-02-22 01:23:29 +00:00
Richard Smith
23eb9f707b
In Objective-C, there are no trailing return types, so don't produce diagnostics suggesting they are missing.
...
llvm-svn: 126174
2011-02-22 01:22:29 +00:00
Johnny Chen
c2fa8fafde
Add emulation methods for "MVN (immediate)" and "MVN (register)".
...
llvm-svn: 126172
2011-02-22 01:01:03 +00:00
Cameron Zwarich
6785a24c41
Eliminate valgrind warnings from Python on the 32-bit as well.
...
llvm-svn: 126171
2011-02-22 01:00:10 +00:00
Cameron Zwarich
800f85baf9
Merge information about the number of zero, one, and sign bits of live-out registers
...
at phis. This enables us to eliminate a lot of pointless zexts during the DAGCombine
phase. This fixes <rdar://problem/8760114>.
llvm-svn: 126170
2011-02-22 00:46:27 +00:00
Cameron Zwarich
f248f945c8
Have isel visit blocks in reverse postorder rather than an undefined order. This
...
allows for the information propagated across basic blocks to be merged at phis.
llvm-svn: 126169
2011-02-22 00:46:22 +00:00
Joerg Sonnenberger
60e7629258
Recognize loopz and loopnz as aliases for loope and loopne.
...
From Dimitry Andric.
llvm-svn: 126168
2011-02-22 00:43:07 +00:00
Joerg Sonnenberger
cc9c8eb837
Bug#8945: Add -cxx-isystem option to specify C++ system directories.
...
It works like -isystem and the search path keeps -isystem and
-cxx-isystem in order relative to each other. -cxx-isystem is only used
for C++ sources though. Drop the existing -cxx-system-include option for
cc1 as it is now redundant.
llvm-svn: 126167
2011-02-22 00:40:56 +00:00
Richard Smith
59006e4338
Fix a few auto-related issues:
...
* 'auto' was being rejected on abstract-declarators with trailing return
types and on typedefs with trailing return types. 'auto' is always
allowed in these cases. This was found while testing the fix for PR 9278.
* A very poor diagnostic was being issued for auto (f() -> int): "return
type must be 'auto', not 'auto'". This is closely related to PR 9060.
* Trailing return type handling was happening slightly too late,
resulting in the checks for functions returning arrays and functions
returning functions being missed.
llvm-svn: 126166
2011-02-22 00:36:53 +00:00
Rafael Espindola
e39062199e
Implement xgetbv and xsetbv.
...
Patch by Jai Menon.
llvm-svn: 126165
2011-02-22 00:35:18 +00:00
Richard Smith
e51cb7dedf
Add reference to PR 9278 for archaeologists.
...
llvm-svn: 126164
2011-02-22 00:19:36 +00:00
Eric Christopher
9b48fef478
Revert r125960, it's breaking darwin10 bootstrap.
...
llvm-svn: 126163
2011-02-21 23:52:19 +00:00
Fariborz Jahanian
d7b0cb5388
Warn when type modifiers on objc method declarations in
...
protocols do not match with method implementation.
// rdar://7076235
llvm-svn: 126162
2011-02-21 23:49:15 +00:00
David Chisnall
055f064756
The instance size of a metaclass should be the size of a class. This is not, in fact, 0, even for very small classes. (GNU runtime)
...
llvm-svn: 126161
2011-02-21 23:47:40 +00:00
Johnny Chen
e69108a78f
Add emulation methods for "EOR (Immediate)", "EOR (register)",
...
"TEQ (immediate)", and "TEQ (register)" operations.
llvm-svn: 126160
2011-02-21 23:42:44 +00:00
Evan Cheng
87a9f19f9c
Skipping over debugvalue instructions to determine whether the split spot is in a IT block. rdar://9030770
...
llvm-svn: 126159
2011-02-21 23:40:47 +00:00
Evan Cheng
b8ed462ca2
Add more debugging output.
...
llvm-svn: 126158
2011-02-21 23:39:48 +00:00
Joerg Sonnenberger
37d5484d18
Handle FK_PCRel_1 and add a test case for this and FK_PCRel_4.
...
llvm-svn: 126157
2011-02-21 23:25:41 +00:00
Devang Patel
f3292b2196
Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns."
...
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
This requires some coordination with debugger to get this working.
- The debugger needs to be aware of prolog_end attribute attached with line table entries.
- The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)
llvm-svn: 126155
2011-02-21 23:21:26 +00:00
Richard Smith
27e39b11b1
C++0x's deduced auto is illegal in typedefs.
...
This actually rules out too much, since it also catches typedefs for pointers to functions with trailing return types:
typedef auto (*F)() -> int;
Fix for that (and the same issue in all abstract-declarators) to follow shortly.
llvm-svn: 126153
2011-02-21 23:18:00 +00:00
Daniel Dunbar
13adc7fefd
Targets/Darwin: mcount name on Darwin needs to be unmangled.
...
llvm-svn: 126152
2011-02-21 23:12:51 +00:00
Jakob Stoklund Olesen
60a26a6578
Add SplitKit::isOriginalEndpoint and use it to force live range splitting to terminate.
...
An original endpoint is an instruction that killed or defined the original live
range before any live ranges were split.
When splitting global live ranges, avoid creating local live ranges without any
original endpoints. We may still create global live ranges without original
endpoints, but such a range won't be split again, and live range splitting still
terminates.
llvm-svn: 126151
2011-02-21 23:09:46 +00:00
Ted Kremenek
828f631af1
Fix a CFGBuilder bug exposed on convoluted control-flow in the Linux kernel.
...
llvm-svn: 126149
2011-02-21 22:11:26 +00:00
Chris Lattner
93ede02045
add one more case of mismatched input/output constraints.
...
When the mismatch is due to a larger input operand that is
a constant, truncate it down to the size of the output. This
allows us to accept some cases in the linux kernel and elsewhere.
Pedantically speaking, we generate different code than GCC, though
I can't imagine how it would matter:
Clang:
movb $-1, %al
frob %al
GCC:
movl $255, %eax
frob %al
llvm-svn: 126148
2011-02-21 22:09:29 +00:00
Sean Callanan
5e8603d1b9
Fixed a bug in the X86 disassembler where a member of the
...
X86 instruction decode structure was being interpreted as
being in units of bits, although it is actually stored in
units of bytes.
llvm-svn: 126147
2011-02-21 21:55:05 +00:00
Chris Lattner
e3694b166a
more code restructuring, no functionality change.
...
llvm-svn: 126146
2011-02-21 21:50:25 +00:00
Chris Lattner
70a4e9b5e2
split the iteration loop out to a helper function, no functionality change.
...
llvm-svn: 126145
2011-02-21 21:40:33 +00:00
Johnny Chen
28c5882cb5
Add emulation methods for "TST (immediate)" and "TST (register)".
...
Plus modified EmulateANDImm/Reg to delegate to TSTImm/Reg for Thumb2
32-bit instructions when Rd == '1111' and setflags is true.
llvm-svn: 126144
2011-02-21 21:24:49 +00:00
Chris Lattner
169766f306
fix a comment.
...
llvm-svn: 126143
2011-02-21 21:15:10 +00:00
Stuart Hastings
b6a4d3ebd2
Test case for r126127 and r126141. Radar 9012638.
...
llvm-svn: 126142
2011-02-21 21:08:21 +00:00