Rafael Espindola
11ec830693
Revert r175120 and r175121. Clang is producing the expected asm names again.
...
llvm-svn: 175133
2013-02-14 03:33:34 +00:00
Cameron Zwarich
a375023c9c
RegisterCoalescer::reMaterializeTrivialDef() can constrain the destination
...
register class to match the defining instruction.
llvm-svn: 175130
2013-02-14 03:25:24 +00:00
Francois Pichet
9e29d95f36
Add missing typename to unbreak the MSVC 2012 build.
...
llvm-svn: 175129
2013-02-14 03:24:14 +00:00
Nick Lewycky
b1b829cd65
Teach the DataLayout aware constant folder to be much more aggressive towards
...
'and' instructions. This is a pattern that shows up a lot in ubsan binaries.
llvm-svn: 175128
2013-02-14 03:23:37 +00:00
Reed Kotler
7545d4833e
Remove the form field from Mips16 instruction formats and set things
...
up so that we can apply the direct object emitter patch. This patch
should be a nop right now and it's test is to not break what is already
there.
llvm-svn: 175126
2013-02-14 03:05:25 +00:00
Andrew Trick
2a224ff3a5
Revert "s/grep/FileCheck/ in some tests"
...
This reverts commit 8b75e6bc35fb3f9c1e788dbd05084c0f4a60a0f3.
The FileCheck tests are not equivalent:
test/CodeGen/X86/tailcall-structret.ll:6:10: error: expected string not found in input
; CHECK: jmp init
^
<stdin>:1:2: note: scanning from here
.section __TEXT,__text,regular,pure_instructions
^
<stdin>:13:2: note: possible intended match here
jmp _init ## TAILCALL
^
llvm-svn: 175124
2013-02-14 03:00:57 +00:00
Cameron Zwarich
fb3cac38b7
Fix RegisterCoalescer::rematerializeTrivialDef() so that it works on flipped
...
CoalescerPairs. Also, make it take a CoalescerPair directly like other methods
of RegisterCoalescer.
llvm-svn: 175123
2013-02-14 02:51:05 +00:00
Cameron Zwarich
eff4f38af2
Fix some issues with rematerialization in RegisterCoalescer when the destination
...
of the copy is a subregister def. The current code assumes that it can do a full
def of the destination register, but it is not checking that the def operand is
read-undef. It also doesn't clear the subregister index of the destination in
the new instruction to reflect the full subregister def.
These issues were found running 'make check' with my next commit that enables
rematerialization in more cases.
llvm-svn: 175122
2013-02-14 02:51:03 +00:00
Rafael Espindola
d214fef222
Don't assume the mangling of static functions.
...
llvm-svn: 175121
2013-02-14 02:49:18 +00:00
Rafael Espindola
cd4cd16ea7
Don't asume that a static function in an extern "C" block will not be mangled.
...
Since functions with internal linkage don't have language linkage, it is valid
to overload them:
extern "C" {
static int foo();
static int foo(int);
}
So we mangle them.
llvm-svn: 175120
2013-02-14 01:58:08 +00:00
Weiming Zhao
1159c1f3f0
temporarily revert the patch due to some conflicts
...
llvm-svn: 175107
2013-02-13 23:24:40 +00:00
Bill Wendling
29c7662732
Retain the name of the new internal global that's been shrunk.
...
It's possible (e.g. after an LTO build) that an internal global may be used for
debugging purposes. If that's the case appending a '.b' to it makes it hard to
find that variable. Steal the name from the old GV before deleting it so that
they can find that variable again.
llvm-svn: 175104
2013-02-13 23:00:51 +00:00
Anshuman Dasgupta
a6322b9e0a
Hexagon: add support for predicate-GPR copies.
...
llvm-svn: 175102
2013-02-13 22:56:34 +00:00
Alex Rosenberg
049e287117
llvm-gcc -pedantic warns about C++ comments in C90 mode even if they're
...
inside an #if 0 block.
llvm-svn: 175098
2013-02-13 22:45:52 +00:00
Ryan Govostes
bdb566bf9d
Fix iterator definitions for ImmutableSet and ImmutableMap.
...
llvm-svn: 175097
2013-02-13 22:37:27 +00:00
Tom Stellard
9cf905c167
R600: Add support for 128-bit parameters
...
NOTE: This is a candidate for the Mesa stable branch.
llvm-svn: 175096
2013-02-13 22:05:20 +00:00
Eli Bendersky
f2c7301bb8
s/grep/FileCheck/ in some tests
...
llvm-svn: 175093
2013-02-13 22:00:37 +00:00
Nick Lewycky
9a61e050d5
Don't build tail calls to functions with three inreg arguments on x86-32 PIC.
...
Fixes PR15250!
llvm-svn: 175092
2013-02-13 21:59:15 +00:00
Eli Bendersky
75a42938fc
s/grep/FileCheck/ in some tests
...
llvm-svn: 175089
2013-02-13 21:46:38 +00:00
Weiming Zhao
e51d6cf7ae
Bug fix 13622: Add paired register support for inline asm with 64-bit data on ARM
...
llvm-svn: 175088
2013-02-13 21:43:02 +00:00
Chad Rosier
f027c8b594
[ms-inline asm] Fix up test case for non-Darwin platforms.
...
llvm-svn: 175087
2013-02-13 21:41:58 +00:00
Jyotsna Verma
a382dbb48f
Hexagon: Use absolute addressing mode loads/stores for global+offset
...
instead of redefining separate instructions for them.
llvm-svn: 175086
2013-02-13 21:38:46 +00:00
Ryan Govostes
2d7d8621cf
Add iterator_traits to ImmutableMap and ImmutableSet.
...
llvm-svn: 175085
2013-02-13 21:38:22 +00:00
Chad Rosier
ed40f84fdc
[ms-inline-asm] Add support for memory references that have non-immediate
...
displacements.
rdar://12974533
llvm-svn: 175083
2013-02-13 21:33:44 +00:00
Chad Rosier
0c12b80a10
[ms-inline asm] Add a comment about the determinism of the rewrite sort.
...
llvm-svn: 175082
2013-02-13 21:27:17 +00:00
Dmitri Gribenko
829ef412eb
configure: remove workaround for gcc's -Wno-maybe-uninitialized
...
Since r174770 gcc version check is not needed because CXX_FLAG_CHECK
implements the workaround itself.
llvm-svn: 175080
2013-02-13 21:19:39 +00:00
Sean Silva
3020873a8a
[docs] PR15254: Add "AST" to the lexicon.
...
llvm-svn: 175077
2013-02-13 21:17:20 +00:00
Benjamin Kramer
7e28d6495d
LoopVectorize: Simplify code for clarity.
...
No functionality change.
llvm-svn: 175076
2013-02-13 21:12:29 +00:00
Bill Wendling
b1c787203f
Add a blurb about the attributes changes to the release notes.
...
llvm-svn: 175075
2013-02-13 21:10:15 +00:00
Reed Kotler
c0c9bb9263
For Mips 16, add the optimization where the 16 bit form of addiu sp can be used
...
if the offset fits in 11 bits. This makes use of the fact that the abi
requires sp to be 8 byte aligned so the actual offset can fit in 8
bits. It will be shifted left and sign extended before being actually used.
The assembler or direct object emitter will shift right the 11 bit
signed field by 3 bits. We don't need to deal with that here.
llvm-svn: 175073
2013-02-13 20:28:27 +00:00
Manman Ren
b5e3203959
Clean up LDV, no functionality change.
...
Remove dead functions: renameRegister
Move private member variables from LDV to Impl
Remove ssp/uwtable from testing case
llvm-svn: 175072
2013-02-13 20:23:48 +00:00
Bill Wendling
2917cd46a7
Use 'RC_XBS' instead of 'RC_BUILDIT' to catch all times when it's built in the Apple way.
...
llvm-svn: 175069
2013-02-13 19:44:08 +00:00
Andrew Trick
4cce0af4e9
MIsched: HazardRecognizers are created for each DAG. Free them.
...
llvm-svn: 175067
2013-02-13 19:22:27 +00:00
David Peixotto
0a3102166e
PR14992 - Tablegen incorrectly converts ARM tLDMIA_UPD pseudo to tLDMIA
...
Fixed bug in tablegen conversion when source pseudo instruction has
a different number of arguments than the destination instruction.
llvm-svn: 175066
2013-02-13 19:21:47 +00:00
Chad Rosier
5ead8d3901
[ms-inline-asm] Use an array_pod_sort, rather than a std:sort.
...
llvm-svn: 175063
2013-02-13 18:38:58 +00:00
Pekka Jaaskelainen
7e2908d0f3
Metadata for annotating loops as parallel. The first consumer for this
...
metadata is the loop vectorizer.
See the documentation update for more info.
llvm-svn: 175060
2013-02-13 18:08:57 +00:00
Krzysztof Parzyszek
b6d2a1c1ee
Add registration for PPC-specific passes to allow the IR to be dumped
...
via -print-after-all.
llvm-svn: 175058
2013-02-13 17:40:07 +00:00
Benjamin Kramer
34ab81b7fa
X86: Disable generation of rep;movsl when %esi is used as a base pointer.
...
This happens when there is both stack realignment and a dynamic alloca in the
function. If we overwrite %esi (rep;movsl uses fixed registers) we'll lose the
base pointer and the next register spill will write into oblivion.
Fixes PR15249 and unbreaks firefox on i386/freebsd. Mozilla uses dynamic allocas
and freebsd a 4 byte stack alignment.
llvm-svn: 175057
2013-02-13 13:40:35 +00:00
Tim Northover
6f37a3070c
Mention AArch64 in release notes for 3.3
...
llvm-svn: 175055
2013-02-13 12:46:32 +00:00
Evgeniy Stepanov
be7d518073
Fix MSan annotations inclusion guard.
...
#cmakedefine does not behave the way I though it was.
llvm-svn: 175050
2013-02-13 10:40:01 +00:00
Bill Wendling
8d3d898234
Use array_pod_sort.
...
llvm-svn: 175048
2013-02-13 09:26:26 +00:00
Manuel Klimek
1cd92e6900
Update phab docs to clarify how to accept a change.
...
llvm-svn: 175047
2013-02-13 09:07:18 +00:00
Bill Wendling
45be8c5d89
Add some accessor and query methods for retrieving Attribute objects and such.
...
llvm-svn: 175046
2013-02-13 08:42:21 +00:00
Reed Kotler
49229780c8
Make jumptables work for -static
...
llvm-svn: 175044
2013-02-13 08:32:14 +00:00
Elena Demikhovsky
a4a4bded4d
Prevent insertion of "vzeroupper" before call that preserves YMM registers, since a caller uses preserved registers across the call.
...
llvm-svn: 175043
2013-02-13 08:02:04 +00:00
Craig Topper
dc6619d1a6
Remove unnecessary condtional assignment. The next line ignores the result of the assignment with the same condition.
...
llvm-svn: 175042
2013-02-13 07:44:17 +00:00
Eric Christopher
5821e56ae7
This is actually located at the end, not the middle.
...
llvm-svn: 175041
2013-02-13 07:22:25 +00:00
Eric Christopher
a2c85e433f
Check i1 as well as i8 variables for 8 bit registers for x86 inline
...
assembly.
llvm-svn: 175036
2013-02-13 06:01:05 +00:00
Eric Christopher
25984ae5af
Finish obviously broken thought.
...
llvm-svn: 175035
2013-02-13 06:01:00 +00:00
Kostya Serebryany
2d4f4b284c
[tsan] disable load widening in ThreadSanitizer mode
...
llvm-svn: 175034
2013-02-13 05:59:45 +00:00