- Apr 11, 2013
-
-
Michael Liao authored
As these two instructions in AVX extension are privileged instructions for special purpose, it's only expected to be used in inlined assembly. llvm-svn: 179266
-
Michael Liao authored
This patch is revised based on patch from Victor Umansky <victor.umansky@intel.com>. More cases are handled in X86's bool simplification, i.e. - SETCC_CARRY - value is truncated to i1 with AND As a by-product, PR5443 is also fixed. llvm-svn: 179265
-
NAKAMURA Takumi authored
llvm-svn: 179263
-
NAKAMURA Takumi authored
llvm-svn: 179262
-
Rafael Espindola authored
llvm-svn: 179259
-
Rafael Espindola authored
The object was already checked in, but was not being tested. llvm-svn: 179256
-
Rafael Espindola authored
It was returning the loaded address of the section containing the relocation, which really doesn't seem to be the intent of this function. llvm-svn: 179255
-
Hal Finkel authored
Because of how predication in implemented on PPC (only for branches), I think that this is the right thing to do. No functionality change intended. llvm-svn: 179252
-
Daniel Dunbar authored
llvm-svn: 179249
-
Daniel Dunbar authored
llvm-svn: 179248
-
Daniel Dunbar authored
llvm-svn: 179247
-
Nico Rieck authored
llvm-svn: 179244
-
Daniel Dunbar authored
llvm-svn: 179243
-
Eli Bendersky authored
llvm-svn: 179241
-
Nico Rieck authored
Add support for the COFF relocation types IMAGE_REL_I386_DIR32NB and IMAGE_REL_AMD64_ADDR32NB for 32- and 64-bit respectively. These are similar to normal 4-byte relocations except that they do not include the base address of the image. Image-relative relocations are used for debug information (32-bit) and SEH unwind tables (64-bit). A new MCSymbolRef variant called 'VK_COFF_IMGREL32' is introduced to specify such relocations. For AT&T assembly, this variant can be accessed using the symbol suffix '@imgrel'. llvm-svn: 179240
-
Joey Gouly authored
llvm-svn: 179239
-
Hal Finkel authored
In the simple and triangle if-conversion cases, when CopyAndPredicateBlock is used because the to-be-predicated block has other predecessors, we need to explicitly remove the old copied block from the successors list. Normally if conversion relies on TII->AnalyzeBranch combined with BB->CorrectExtraCFGEdges to cleanup the successors list, but if the predicated block contained an un-analyzable branch (such as a now-predicated return), then this will fail. These extra successors were causing a problem on PPC because it was causing later passes (such as PPCEarlyReturm) to leave dead return-only basic blocks in the code. llvm-svn: 179227
-
Bill Wendling authored
llvm-svn: 179226
-
Jack Carter authored
These changes are based on commit responses for r179135. llvm-svn: 179225
-
- Apr 10, 2013
-
-
Bill Wendling authored
llvm-svn: 179224
-
Kay Tiong Khoo authored
llvm-svn: 179223
-
Eric Christopher authored
temporarily while we work on plumbing through some changes to continue supporting gdb on darwin. This reverts commit r179122. llvm-svn: 179222
-
Bill Wendling authored
Compact unwind has an encoding for when we're not able to generate compact unwind and must generate an EH frame instead. Track that, but still emit that CU encoding. llvm-svn: 179220
-
Kay Tiong Khoo authored
llvm-svn: 179215
-
Benjamin Kramer authored
This avoids a nasty const correctness issue (AnalysisIDs are const, Pass* isn't). llvm-svn: 179213
-
Bill Wendling authored
If anyone objects please let me know. llvm-svn: 179212
-
Preston Gurd authored
In the X86 back end, getMemoryOperandNo() returns the offset into the operand array of the start of the memory reference descriptor. Additional code in EncodeInstruction provides an additional adjustment. This patch places that additional code in a separate function, called getOperandBias, so that any caller of getMemoryOperandNo can also call getOperandBias. llvm-svn: 179211
-
Chad Rosier authored
wasn't always the start of the operand. If there was a symbol reference, then Start pointed to that token. It's very likely there are other places that need to be updated. llvm-svn: 179210
-
Jyotsna Verma authored
to disable following tests for Hexagon that require direct object generation support. DebugInfo/dwarf-public-names.ll DebugInfo/dwarf-version.ll DebugInfo/member-pointers.ll DebugInfo/namespace.ll DebugInfo/two-cus-from-same-file.ll Fixes bug 15616 - http://llvm.org/bugs/show_bug.cgi?id=15616 llvm-svn: 179209
-
Nadav Rotem authored
Make the SLP store-merger less paranoid about function calls. We check for function calls when we check if it is safe to sink instructions. llvm-svn: 179207
-
Nadav Rotem authored
llvm-svn: 179206
-
Chad Rosier authored
llvm-svn: 179205
-
Hal Finkel authored
I've not seen this happen in practice, and probably can't until we start allowing decrement-counter-based conditional branches to be double predicated, but just in case, don't allow predication of a diamond in which both sides have ctr-defining branches. Even though the branching behavior of these can be predicated, the counter-decrementing behavior cannot be. llvm-svn: 179199
-
Chad Rosier authored
Test cases that regressed due to r179115, plus a few more, were added in r179182. Original commit message below: [ms-inline asm] Use parsePrimaryExpr in lieu of parseExpression if we need to parse an identifier. Otherwise, parseExpression may parse multiple tokens, which makes it impossible to properly compute an immediate displacement. An example of such a case is the source operand (i.e., [Symbol + ImmDisp]) in the below example: __asm mov eax, [Symbol + ImmDisp] Part of rdar://13611297 llvm-svn: 179187
-
Michel Danzer authored
21 more little piglits with radeonsi. Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 179186
-
Reed Kotler authored
Mips32 code as Mips16 unless it can't be compiled as Mips 16. For now this would happen as long as floating point instructions are not needed. Probably it would also make sense to compile as mips32 if atomic operations are needed too. There may be other cases too. A module pass prescans the IR and adds the mips16 or nomips16 attribute to functions depending on the functions needs. Mips 16 mode can result in a 40% code compression by utililizing 16 bit encoding of many instructions. The hope is for this to replace the traditional gcc way of dealing with Mips16 code using floating point which involves essentially using soft float but with a library implemented using mips32 floating point. This gcc method also requires creating stubs so that Mips32 code can interact with these Mips 16 functions that have floating point needs. My conjecture is that in reality this traditional gcc method would never win over this new method. I will be implementing the traditional gcc method also. Some of it is already done but I needed to do the stubs to finish the work and those required this mips16/32 mixed mode capability. I have more ideas for to make this new method much better and I think the old method will just live in llvm for anyone that needs the backward compatibility but I don't for what reason that would be needed. llvm-svn: 179185
-
Peter Collingbourne authored
symbol with multiple .type declarations. Differential Revision: http://llvm-reviews.chandlerc.com/D607 llvm-svn: 179184
-
Rafael Espindola authored
llvm-svn: 179179
-
Rafael Espindola authored
Since we only ever instantiate with a type that is a MachOType instantiation, we don't need to pass template argument. llvm-svn: 179178
-
Rafael Espindola authored
llvm-svn: 179176
-