- Feb 24, 2010
-
-
John McCall authored
llvm-svn: 97035
-
Chris Lattner authored
llvm-svn: 97034
-
Chris Lattner authored
the old one around for comparative purposes: have the ENABLE_NEW_ISEL #define (which is not enabled on mainline) stop emitting the old isel at all, yay for build time win. llvm-svn: 97033
-
John McCall authored
llvm-svn: 97032
-
Chris Lattner authored
the new isel: fold movechild+record+moveparent into a single recordchild N node. This shrinks the X86 table from 125443 to 117502 bytes. llvm-svn: 97031
-
John McCall authored
a common source of oddities and, in theory, removes some redundant ABI computations. Also fixes a miscompile I introduced yesterday by refactoring some code and causing a slightly different code path to be taken that didn't perform *parameter* type canonicalization, just normal type canonicalization; this in turn caused a bit of ABI code to misfire because it was looking for 'double' or 'float' but received 'const float'. llvm-svn: 97030
-
Chris Lattner authored
Also add an easy macro at the top of DAGISelEmitter.cpp to enable it. Lets see if I can avoid accidentally turning it on :) llvm-svn: 97029
-
Dan Gohman authored
llvm-svn: 97028
-
Daniel Dunbar authored
the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap. llvm-svn: 97027
-
Dan Gohman authored
necessary to swap the operands to handle NaN and negative zero properly. Also, reintroduce logic for checking for NaN conditions when forming SSE min and max instructions, fixed to take into consideration NaNs and negative zeros. This allows forming min and max instructions in more cases. llvm-svn: 97025
-
Dan Gohman authored
llvm-svn: 97024
-
Chris Lattner authored
to adding them in a determinstic order (bottom up from the root) based on the structure of the graph itself. This updates tests for some random changes, interesting bits: CodeGen/Blackfin/promote-logic.ll no longer crashes. I have no idea why, but that's good right? CodeGen/X86/2009-07-16-LoadFoldingBug.ll also fails, but now compiles to have one fewer constant pool entry, making the expected load that was being folded disappear. Since it is an unreduced mass of gnast, I just removed it. This fixes PR6370 llvm-svn: 97023
-
Chandler Carruth authored
llvm-svn: 97022
-
Chris Lattner authored
internal nodes with flag results. Record these with a new OPC_MarkFlagResults opcode and use this to update the interior nodes' flag results properly. This fixes CodeGen/X86/i256-add.ll with the new isel. llvm-svn: 97021
-
Zhongxing Xu authored
llvm-svn: 97020
-
Chris Lattner authored
llvm-svn: 97019
-
Johnny Chen authored
memory from three or four registers and VST2 (multiple two-element structures) which stores to memory from two double-spaced registers. A8.6.391 & A8.6.393 llvm-svn: 97018
-
Sean Callanan authored
disassembler never recognizes InitReg instructions. llvm-svn: 97017
-
Ted Kremenek authored
Windows and Mac OS X. Will investigate later. llvm-svn: 97016
-
Charles Davis authored
apply it only to the function itself, and never to the return type. Fixes part of PR6408. llvm-svn: 97015
-
Zhongxing Xu authored
analysis needs this. llvm-svn: 97014
-
Jim Grosbach authored
llvm-svn: 97013
-
Jim Grosbach authored
Machine instruction selection is much happier when operands are in virtual registers. llvm-svn: 97012
-
Evan Cheng authored
llvm-svn: 97011
-
Bob Wilson authored
argument is non-null, pass it along to PHITranslateSubExpr so that it can prefer using existing values that dominate the PredBB, instead of just blindly picking the first equivalent value that it finds on a uselist. Also when the DominatorTree is specified, have PHITranslateValue filter out any result that does not dominate the PredBB. This is basically just refactoring the check that used to be in GetAvailablePHITranslatedSubExpr and also in GVN. Despite my initial expectations, this change does not affect the results of GVN for any testcases that I could find, but it should help compile time. Before this change, if PHITranslateSubExpr picked a value that does not dominate, PHITranslateWithInsertion would then insert a new value, which GVN would later determine to be redundant and would replace. By picking a good value to begin with, we save GVN the extra work of inserting and then replacing a new value. llvm-svn: 97010
-
Fariborz Jahanian authored
llvm-svn: 97009
-
Fariborz Jahanian authored
a block pointer type. Fixes radar 7682149. llvm-svn: 97008
-
Jakob Stoklund Olesen authored
instead of %AL/%AH. llvm-svn: 97006
-
Ted Kremenek authored
llvm-svn: 97005
-
Chris Lattner authored
single use. llvm-svn: 97003
-
Fariborz Jahanian authored
llvm-svn: 97002
-
Chris Lattner authored
creating a new node then replacing uses. llvm-svn: 97000
-
- Feb 23, 2010
-
-
Devang Patel authored
llvm-svn: 96999
-
Blaine Garst authored
llvm-svn: 96998
-
Jakob Stoklund Olesen authored
llvm-svn: 96995
-
Jakob Stoklund Olesen authored
Previously, LiveIntervalAnalysis would infer phi joins by looking for multiply defined registers. That doesn't work if the phi join is implicitly defined in all but one of the predecessors. llvm-svn: 96994
-
Rafael Espindola authored
Add support for the weakref attribute. We still produce "alias weak" as llvm-gcc does, but are more strict on what uses of weakref we accept. llvm-svn: 96992
-
Evan Cheng authored
llvm-svn: 96990
-
Blaine Garst authored
of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. llvm-svn: 96989
-
Kevin Enderby authored
With the compiler changed to use EmitCodeAlignment() it does change the functionality. But X86 assembly code assembled with llvm-mc does not change its output. For that we will eventually change the assembler frontend to detect a '.align x, 0x90' when used in a section that 'hasInstructions' and use EmitCodeAlignment, but will wait until we have better target hooks. llvm-svn: 96988
-