- Sep 25, 2009
-
-
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
-
Fariborz Jahanian authored
per Doug's comment. llvm-svn: 82791
-
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
-
Douglas Gregor authored
member functions of class template specializations, and static data members. The mechanics are (mostly) present, but the semantic analysis is very weak. llvm-svn: 82789
-
David Goodwin authored
llvm-svn: 82788
-
Dale Johannesen authored
being checked aren't valid without it. llvm-svn: 82786
-
Victor Hernandez authored
Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests. llvm-svn: 82784
-
Fariborz Jahanian authored
Fixed pr5050. llvm-svn: 82783
-
Mike Stump authored
llvm-svn: 82782
-
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
-
Chris Lattner authored
llvm-svn: 82780
-
Chris Lattner authored
regex and matching it instead of trying to match chunks at a time. Matching chunks at a time broke with check lines like CHECK: foo {{.*}}bar because the .* would eat the entire rest of the line and bar would never match. Now we just escape the fixed strings for the user, so that something like: CHECK: a() {{.*}}??? is matched as: CHECK: {{a\(\) .*\?\?\?}} transparently "under the covers". llvm-svn: 82779
-
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
-
Chris Lattner authored
perf win and is needed for future changes. llvm-svn: 82777
-
Dale Johannesen authored
llvm-svn: 82776
-
Jeffrey Yasskin authored
DEBUG_RUNTIME Makefile variable to pass -g to gcc when building LLVM's objects. Without this, it's very hard to debug crashes that happen in Release-Asserts mode but not Debug mode. llvm-svn: 82775
-
Chris Lattner authored
llvm-svn: 82774
-
Bob Wilson authored
llvm-svn: 82773
-
Daniel Dunbar authored
llvm-svn: 82772
-
Daniel Dunbar authored
llvm-svn: 82771
-
Anders Carlsson authored
llvm-svn: 82770
-
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
-
Duncan Sands authored
Likewise for constant inbounds GEP. llvm-svn: 82763
-
Benjamin Kramer authored
llvm-svn: 82762
-
Douglas Gregor authored
llvm-svn: 82761
-
Douglas Gregor authored
llvm-svn: 82760
-
Chris Lattner authored
llvm-svn: 82759
-
Chris Lattner authored
llvm-svn: 82758
-
Douglas Gregor authored
llvm-svn: 82757
-
Chris Lattner authored
llvm-svn: 82756
-
Douglas Gregor authored
are now running properly from within CMake. llvm-svn: 82755
-
Chris Lattner authored
llvm-svn: 82754
-
Nate Begeman authored
Previously, it treated GV+28 GV+0 as different bases, and assumed they could not alias. llvm-svn: 82753
-
Ted Kremenek authored
Turn on 'RegionStore' as the default store manager both for 'clang --analyze' and 'scan-build'. Leave 'BasicStore' as the default store manager in 'clang-cc'. While there are still known warts with RegionStore, it's ready to be tested by general users. llvm-svn: 82752
-
Douglas Gregor authored
llvm-svn: 82751
-
Bob Wilson authored
this adjustment does not change the direction or the signs of the object offsets, and the details of the offset calculations can be target-specific. Also mention that for most targets this value is only used to generate debug info. llvm-svn: 82750
-
Ted Kremenek authored
llvm-svn: 82749
-
Douglas Gregor authored
value-dependent. Audit (and fixed) all calls to Expr::isNullPointerConstant() to provide the correct behavior with value-dependent expressions. Fixes PR5041 and a crash in libstdc++ <locale>. In the same vein, properly compute value- and type-dependence for ChooseExpr. Fixes PR4996. llvm-svn: 82748
-
John McCall authored
llvm-svn: 82747
-