- Apr 13, 2013
-
-
Andrew Trick authored
The register allocator expects minimal physreg live ranges. Schedule physreg copies accordingly. This is slightly tricky when they occur in the middle of the scheduling region. For now, this is handled by rescheduling the copy when its associated instruction is scheduled. Eventually we may instead bundle them, but only if we can preserve the bundles as parallel copies during regalloc. llvm-svn: 179449
-
Andrew Trick authored
I need to handle this for the test case in my following scheduler commit. Work is already under way to redesign the mechanism for node order propagation because this case by case approach is unmaintainable. llvm-svn: 179448
-
Rafael Espindola authored
I hope this brings http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-self-mingw32 back. llvm-svn: 179446
-
Akira Hatanaka authored
lowerINTRINSIC_WO_CHAIN into MipsSETargetLowering. No functionality changes. llvm-svn: 179444
-
Rafael Espindola authored
Should fix the bots. llvm-svn: 179441
-
Rafael Espindola authored
We are now able to handle big endian macho files in llvm-readobject. Thanks to David Fang for providing the object files. llvm-svn: 179440
-
Akira Hatanaka authored
llvm-svn: 179434
-
Akira Hatanaka authored
llvm-svn: 179433
-
Chad Rosier authored
change intended. Test case previously added in r178568. Part of rdar://13611297 llvm-svn: 179425
-
Akira Hatanaka authored
llvm-svn: 179422
-
Akira Hatanaka authored
instructions. llvm-svn: 179421
-
Akira Hatanaka authored
llvm-svn: 179420
-
Nadav Rotem authored
llvm-svn: 179418
-
- Apr 12, 2013
-
-
Benjamin Kramer authored
Fixes PR15737. llvm-svn: 179417
-
Nadav Rotem authored
SLPVectorizer: add support for vectorization of diamond shaped trees. We now perform a preliminary traversal of the graph to collect values with multiple users and check where the users came from. llvm-svn: 179414
-
Nadav Rotem authored
CostModel: increase the default cost of supported floating point operations from 1 to two. Fixed a few tests that changes because now the cost of one insert + a vector operation on two doubles is lower than two scalar operations on doubles. llvm-svn: 179413
-
Nadav Rotem authored
llvm-svn: 179412
-
Nadav Rotem authored
patch by Veselov, Yuri <Yuri.Veselov@intel.com>. llvm-svn: 179409
-
Chad Rosier authored
when parsing MS-style inline assembly. No functional change intended. llvm-svn: 179407
-
Chad Rosier authored
is a follow on to r179393 and r179399. Test case to be added on the clang side. Part of rdar://13453209 llvm-svn: 179403
-
Daniel Dunbar authored
llvm-svn: 179402
-
Daniel Dunbar authored
llvm-svn: 179401
-
Chad Rosier authored
is a follow on to r179393. Test case to be added on the clang side. Part of rdar://13453209 llvm-svn: 179399
-
Quentin Colombet authored
According to the ARM reference manual, constant offsets are mandatory for pre-indexed addressing modes. The MC disassembler was not obeying this when the offset is 0. It was producing instructions like: str r0, [r1]!. Correct syntax is: str r0, [r1, #0]!. This change modifies the dumping of operands so that the offset is always printed, regardless of its value, when pre-indexed addressing mode is used. Patch by Mihail Popa <Mihail.Popa@arm.com> llvm-svn: 179398
-
Chad Rosier authored
immediate displacement. Specifically, add support for generating the proper IR. We've been able to parse this for some time now. Test case to be added on the clang side. Part of rdar://13453209 llvm-svn: 179393
-
Hal Finkel authored
TableGen will not combine nested list 'let' bindings into a single list, and instead uses only the inner scope. As a result, several instruction definitions were missing implicit register defs that were in outer scopes. This de-nests these scopes and makes all instructions have only one let binding which sets implicit register definitions. llvm-svn: 179392
-
Hal Finkel authored
llvm-svn: 179391
-
Jyotsna Verma authored
llvm-svn: 179388
-
Jyotsna Verma authored
llvm-svn: 179387
-
David Majnemer authored
The transform will execute like so: (A & ~B) == 0 --> (A & B) != 0 (A & ~B) != 0 --> (A & B) == 0 llvm-svn: 179386
-
Chad Rosier authored
in r179325. Test case coming shortly on the clang side. Part of rdar://13453209 llvm-svn: 179383
-
Arnold Schwaighofer authored
Don't classify idiv/udiv as a reduction operation. Integer division is lossy. For example : (1 / 2) * 4 != 4/2. Example: int a[] = { 2, 5, 2, 2} int x = 80; for() x /= a[i]; Scalar: x /= 2 // = 40 x /= 5 // = 8 x /= 2 // = 4 x /= 2 // = 2 Vectorized: <80, 1> / <2,5> //= <40,0> <40, 0> / <2,2> //= <20,0> 20*0 = 0 radar://13640654 llvm-svn: 179381
-
Tim Northover authored
These tests rely specifically on the names of ELF relocations, let alone any other detail. There's no way they'd work if LLVM was emitting something else by default. llvm-svn: 179376
-
Tim Northover authored
It turns out some platforms (e.g. Windows) lay out their llvm-mc slightly differently with extra newlines; there was no real reason for the test lines to be consecutive, so this relaxes the FileCheck. llvm-svn: 179375
-
Benjamin Kramer authored
You can't copy an OwningPtr, and move semantics aren't available in C++98. llvm-svn: 179374
-
Andy Gibbs authored
llvm-svn: 179373
-
Benjamin Kramer authored
Fix a disconcerting bug in Value::isUsedInBasicBlock, which gave wrong answers for blocks larger than 3 instrs. Also add a unit test. PR15727. llvm-svn: 179370
-
Alexey Samsonov authored
llvm-svn: 179367
-
Nico Rieck authored
llvm-svn: 179363
-
Nico Rieck authored
llvm-svn: 179362
-