- Jul 13, 2012
-
-
Jack Carter authored
is used in cases where global symbols are directly represented in the GOT and we use an offset into the global offset table. This patch adds direct object support for R_MIPS_GOT_DISP. llvm-svn: 160183
-
Jack Carter authored
llvm-svn: 160177
-
Benjamin Kramer authored
llvm-svn: 160173
-
Alexander Kornienko authored
llvm-svn: 160170
-
Hans Wennborg authored
llvm-svn: 160168
-
Duncan Sands authored
llvm-svn: 160166
-
Duncan Sands authored
llvm-svn: 160163
-
Craig Topper authored
llvm-svn: 160162
-
Galina Kistanova authored
llvm-svn: 160159
-
Jim Grosbach authored
When dumping the DAG for a fatal 'Cannot select' back-end error, also provide the name of the function the construct is in. Useful when dealing with large testcases, as the next step is to llvm-extract the function in question to get a small(er) testcase. llvm-svn: 160152
-
Eric Christopher authored
Fixes PR13303. Patch by Paul Robinson! llvm-svn: 160148
-
- Jul 12, 2012
-
-
Jim Grosbach authored
Make sure the tblgen'erated asm matcher correctly returns numoperands+1 as the ErrorInfo when the problem was that there weren't enough operands specified. rdar://9142751 llvm-svn: 160144
-
Akira Hatanaka authored
Patch by Vladimir Medic. llvm-svn: 160143
-
Galina Kistanova authored
llvm-svn: 160142
-
Benjamin Kramer authored
Give the rdrand instructions a SideEffect flag and a chain so MachineCSE and MachineLICM don't touch it. I already had the necessary things in place for IR-level passes but missed the machine passes. llvm-svn: 160137
-
Eric Christopher authored
llvm-svn: 160134
-
Nadav Rotem authored
The LIT tests below do not specify the exact cpu model and fail on AVX2 machines, because we select different instructions such as vbroadcast, new shuffles, etc. Patch by Michael Liao. llvm-svn: 160129
-
Gabor Greif authored
llvm-svn: 160128
-
Gabor Greif authored
llvm-svn: 160127
-
NAKAMURA Takumi authored
llvm-svn: 160124
-
NAKAMURA Takumi authored
llvm-svn: 160123
-
Benjamin Kramer authored
llvm-svn: 160120
-
Benjamin Kramer authored
The rdrand/cmov sequence is the same that is emitted by both GCC and ICC. Fixes PR13284. llvm-svn: 160117
-
Duncan Sands authored
the input vector, it can be bigger (this is helpful for powerpc where <2 x i16> is a legal vector type but i16 isn't a legal type, IIRC). However this wasn't being taken into account by ExpandRes_EXTRACT_VECTOR_ELT, causing PR13220. Lightly tweaked version of a patch by Michael Liao. llvm-svn: 160116
-
Craig Topper authored
llvm-svn: 160110
-
Evan Cheng authored
%shr = lshr i64 %key, 3 %0 = load i64* %val, align 8 %sub = add i64 %0, -1 %and = and i64 %sub, %shr ret i64 %and to: %shr = lshr i64 %key, 3 %0 = load i64* %val, align 8 %sub = add i64 %0, 2305843009213693951 %and = and i64 %sub, %shr ret i64 %and The demanded bit optimization is actually a pessimization because add -1 would be codegen'ed as a sub 1. Teach the demanded constant shrinking optimization to check for negated constant to make sure it is actually reducing the width of the constant. rdar://11793464 llvm-svn: 160101
-
Jim Grosbach authored
def Pat<...>; Results in 'record name is not a string!' diagnostic. Not the best, but the lack of location information moves it from not very helpful into completely useless. We're in the Record class when throwing the error, so just add the location info directly. llvm-svn: 160098
-
Manman Ren authored
llvm-svn: 160093
-
Manman Ren authored
It is safe if CPSR is killed or re-defined. When we are done with the basic block, check whether CPSR is live-out. Do not optimize away cmp if CPSR is live-out. llvm-svn: 160090
-
Jack Carter authored
When WriteFragmentData() case FT_align called Asm.getBackend().writeNopData() is called, nothing is done since Mips implementation of writeNopData just returned "true". For some reason this has not caused problems in 32 bit mode, but in 64 bit mode it caused an assert when processing multiple function units. The test case included will assert without this patch. It runs twice with different flags to prevent false positives due to changes in code generation over time. llvm-svn: 160084
-
- Jul 11, 2012
-
-
Chad Rosier authored
llvm-svn: 160082
-
Jack Carter authored
Even though variable in question could not be initialized before use, the code was such that the compiler had no way of knowing that. llvm-svn: 160081
-
Stepan Dyatkovskiy authored
llvm-svn: 160076
-
Argyrios Kyrtzidis authored
file buffer is null-terminated. If the file is smaller than we thought, mmap will not allow dereferencing past the pages that are enough to cover the actual file size, even though we asked for a larger address range. rdar://11612916 llvm-svn: 160075
-
Akira Hatanaka authored
order of binary encoding. Patch by Vladimir Medic. llvm-svn: 160073
-
Chad Rosier authored
comments. llvm-svn: 160069
-
Akira Hatanaka authored
llvm-svn: 160067
-
Manman Ren authored
When Movr0 is between sub and cmp, we move Movr0 before sub if it enables removal of Cmp. llvm-svn: 160066
-
Akira Hatanaka authored
llvm-svn: 160064
-
Evan Cheng authored
r1025 = s/zext r1024, 4 r1026 = extract_subreg r1025, 4 to a copy: r1026 = copy r1024 This is correct. However it uses TII->isCoalescableExtInstr() which can return true for instructions which essentially does a sext_in_reg so this can end up with an illegal copy where the source and destination register classes do not match. Add a check to avoid it. Sorry, no test case possible at this time. rdar://11849816 llvm-svn: 160059
-