- Sep 27, 2009
-
-
Nick Lewycky authored
update all the callers. llvm-svn: 82889
-
- Sep 26, 2009
-
-
Chris Lattner authored
and makes the API more annoying. Add a Regex::getNumMatches() method. llvm-svn: 82877
-
Dan Gohman authored
calls, since direct calls don't always reflect the attributes of their callees. llvm-svn: 82867
-
Dan Gohman authored
to inttoptr/ptrtoint unnecessarily. llvm-svn: 82864
-
Duncan Sands authored
there need to be corresponding changes to the constant folders, done in this patch. llvm-svn: 82862
-
Dan Gohman authored
where FCMP_OEQ is not legal and FCMP_OGE is, such as x86. llvm-svn: 82861
-
Evan Cheng authored
llvm-svn: 82838
-
Evan Cheng authored
llvm-svn: 82837
-
Evan Cheng authored
llvm-svn: 82836
-
Dan Gohman authored
allocatable. Even if it doesn't appear to have any defs, it may latter on after register allocation. llvm-svn: 82834
-
Dan Gohman authored
llvm-svn: 82825
-
Dan Gohman authored
llvm-svn: 82823
-
Dan Gohman authored
MathExtras.h in MachineMemOperand.h. llvm-svn: 82822
-
Daniel Dunbar authored
llvm-svn: 82821
-
Dan Gohman authored
typically faster then doing a general pow. llvm-svn: 82819
-
Dan Gohman authored
llvm-svn: 82818
-
Dan Gohman authored
which have no defs anywhere in the function. In particular, this fixes sinking of instructions that reference RIP on x86-64, which is currently being modeled as a register. llvm-svn: 82815
-
Anton Korobeynikov authored
llvm-svn: 82814
-
Dan Gohman authored
llvm-svn: 82812
-
Dan Gohman authored
and skipping the defs. llvm-svn: 82811
-
- Sep 25, 2009
-
-
Evan Cheng authored
llvm-svn: 82805
-
Evan Cheng authored
llvm-svn: 82803
-
Dale Johannesen authored
appear to be misspellings, removed in favor of fabs*. llvm-svn: 82796
-
Dan Gohman authored
- Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. llvm-svn: 82794
-
Dan Gohman authored
naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
-
David Goodwin authored
llvm-svn: 82788
-
Victor Hernandez authored
Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests. llvm-svn: 82784
-
Dale Johannesen authored
before producing FSIN, FCOS, FSQRT. If they aren't so marked we have to assume they might set errno. llvm-svn: 82781
-
Dale Johannesen authored
allows appropriate backends to generate a sqrt instruction. On x86, this isn't done at -O0 because we go through FastISel instead. This is a behavior change from before this series of sqrt patches started. I think this is OK considering that compile speed is most important at -O0, but could be convinced otherwise. llvm-svn: 82778
-
Bob Wilson authored
llvm-svn: 82773
-
Bob Wilson authored
For the AAPCS ABI, SP must always be 4-byte aligned, and at any "public interface" it must be 8-byte aligned. For the older ARM APCS ABI, the stack alignment is just always 4 bytes. For X86, we currently align SP at entry to a function (e.g., to 16 bytes for Darwin), but no stack alignment is needed at other times, such as for a leaf function. After discussing this with Dan, I decided to go with the approach of adding a new "TransientStackAlignment" field to TargetFrameInfo. This value specifies the stack alignment that must be maintained even in between calls. It defaults to 1 except for ARM, where it is 4. (Some other targets may also want to set this if they have similar stack requirements. It's not currently required for PPC because it sets targetHandlesStackFrameRounding and handles the alignment in target-specific code.) The existing StackAlignment value specifies the alignment upon entry to a function, which is how we've been using it anyway. llvm-svn: 82767
-
Nate Begeman authored
Previously, it treated GV+28 GV+0 as different bases, and assumed they could not alias. llvm-svn: 82753
-
Dan Gohman authored
instructions. This fixes a PowerPC bug exposed by some unrelated changes I'm working on. llvm-svn: 82743
-
Dan Gohman authored
llvm-svn: 82742
-
Jim Grosbach authored
interest for this, as it currently reserves a register rather than using the scavenger for matierializing constants as needed. Instead of scavenging registers on the fly while eliminating frame indices, new virtual registers are created, and then a scavenged collectively in a post-pass over the function. This isolates the bits that need to interact with the scavenger, and sets the stage for more intelligent use, and reuse, of scavenged registers. For the time being, this is disabled by default. Once the bugs are worked out, the current scavenging calls in replaceFrameIndices() will be removed and the post-pass scavenging will be the default. Until then, -enable-frame-index-scavenging enables the new code. Currently, only the Thumb1 back end is set up to use it. llvm-svn: 82734
-
Mike Stump authored
delete a few blank lines. llvm-svn: 82729
-
Mike Stump authored
llvm-svn: 82727
-
- Sep 24, 2009
-
-
Chris Lattner authored
; CHECK: movl {{%e[a-z][xi]}}, %eax or whatever. llvm-svn: 82717
-
Chris Lattner authored
llvm-svn: 82716
-
Chris Lattner authored
llvm-svn: 82715
-