- Jan 29, 2009
-
-
Evan Cheng authored
llvm-svn: 63255
-
- Jan 28, 2009
-
-
Bill Wendling authored
llvm-svn: 63245
-
Dale Johannesen authored
classes (those that reasonably have a DebugLoc associated with them). llvm-svn: 63236
-
Devang Patel authored
Do not forget to derived type while constructing an array type. llvm-svn: 63233
-
Mon P Wang authored
llvm-svn: 63217
-
Dan Gohman authored
new isOperationLegalOrCustom, which does what isOperationLegal previously did. Update a bunch of callers to use isOperationLegalOrCustom instead of isOperationLegal. In some case it wasn't obvious which behavior is desired; when in doubt I changed then to isOperationLegalOrCustom as that preserves their previous behavior. This is for the second half of PR3376. llvm-svn: 63212
-
Duncan Sands authored
llvm-svn: 63199
-
Duncan Sands authored
llvm-svn: 63198
-
Dan Gohman authored
llvm-svn: 63170
-
Dan Gohman authored
shift amounts, to avoid implicitly assuming that target architectures will ignore the high bits. llvm-svn: 63169
-
Devang Patel authored
llvm-svn: 63154
-
Dale Johannesen authored
llvm-svn: 63152
-
- Jan 27, 2009
-
-
Evan Cheng authored
llvm-svn: 63132
-
Dan Gohman authored
a uint64_t to verify that the value is in range for the given type, to help catch accidental overflow. Fix a few places that relied on getConstant implicitly truncating the value. llvm-svn: 63128
-
Dan Gohman authored
llvm-svn: 63120
-
Owen Anderson authored
llvm-svn: 63091
-
Devang Patel authored
Assorted debug info fixes. - DW_AT_bit_size is only suitable for bitfields. - Encode source location info for derived types. - Source location and type size info is not useful for subroutine_type (info is included in respective DISubprogram) and array_type. llvm-svn: 63077
-
Evan Cheng authored
llvm-svn: 63070
-
- Jan 26, 2009
-
-
Scott Michel authored
doesn't support it. The default is set to 'true', so this should not impact any other target backends. llvm-svn: 63058
-
Owen Anderson authored
llvm-svn: 63049
-
Duncan Sands authored
checking logic. Rather than make the checking more complicated, I've tweaked some logic to make things conform to how the checking thought things ought to be, since this results in a simpler "mental model". llvm-svn: 63048
-
Bill Wendling authored
llvm-svn: 63041
-
Bill Wendling authored
llvm-svn: 63040
-
Anton Korobeynikov authored
allow us to generate more efficient code. We don't do this now though :) llvm-svn: 63027
-
Owen Anderson authored
llvm-svn: 63026
-
Owen Anderson authored
markers, and ended up foiling the interval reconstruction. This allows us to turn on reconstruction in the pre alloc splitter, which fixes a number of miscompilations. llvm-svn: 63025
-
Evan Cheng authored
llvm-svn: 63021
-
Evan Cheng authored
llvm-svn: 63009
-
Evan Cheng authored
llvm-svn: 63008
-
Dan Gohman authored
tidy up SDUse and related code. - Replace the operator= member functions with a set method, like LLVM Use has, and variants setInitial and setNode, which take care up updating use lists, like LLVM Use's does. This simplifies code that calls these functions. - getSDValue() is renamed to get(), as in LLVM Use, though most places can either use the implicit conversion to SDValue or the convenience functions instead. - Fix some more node vs. value terminology issues. Also, eliminate the one remaining use of SDOperandPtr, and SDOperandPtr itself. llvm-svn: 62995
-
- Jan 25, 2009
-
-
Dan Gohman authored
of each use in the SelectionDAG ReplaceAllUses* functions. Thanks to Chris for spotting this opportunity. Also, factor out code from all 5 of the ReplaceAllUses* functions into AddNonLeafNodeToCSEMaps, which is now renamed AddModifiedNodeToCSEMaps to more accurately reflect its purpose. llvm-svn: 62964
-
Dan Gohman authored
llvm-svn: 62963
-
Dan Gohman authored
DeleteNodeNotInCSEMaps, since DeleteNode just calls DeleteNodeNotInCSEMaps. llvm-svn: 62962
-
Evan Cheng authored
Teach 2addr pass to be do more commuting. If both uses of a two-address instruction are killed, but the first operand has a use before and after the def, commute if the second operand does not suffer from the same issue. %reg1028<def> = EXTRACT_SUBREG %reg1027<kill>, 1 %reg1029<def> = MOV8rr %reg1028 %reg1029<def> = SHR8ri %reg1029, 7, %EFLAGS<imp-def,dead> insert => %reg1030<def> = MOV8rr %reg1028 %reg1030<def> = ADD8rr %reg1028<kill>, %reg1029<kill>, %EFLAGS<imp-def,dead> In this case, it might not be possible to coalesce the second MOV8rr instruction if the first one is coalesced. So it would be profitable to commute it: %reg1028<def> = EXTRACT_SUBREG %reg1027<kill>, 1 %reg1029<def> = MOV8rr %reg1028 %reg1029<def> = SHR8ri %reg1029, 7, %EFLAGS<imp-def,dead> insert => %reg1030<def> = MOV8rr %reg1029 %reg1030<def> = ADD8rr %reg1029<kill>, %reg1028<kill>, %EFLAGS<imp-def,dead> llvm-svn: 62954
-
- Jan 24, 2009
-
-
Nate Begeman authored
llvm-svn: 62940
-
Owen Anderson authored
llvm-svn: 62917
-
Evan Cheng authored
llvm-svn: 62893
-
- Jan 23, 2009
-
-
Devang Patel authored
DW_AT_APPLE_optimized flag is set when a compile_unit is optimized. The debugger takes advantage of this information some way. DW_AT_APPLE_flags encodes command line options when certain env. variable is set. This is used by build engineers to track various gcc command lines used by by a project, irrespective of whether the project used makefile, Xcode or something else. llvm-gcc patch is next. llvm-svn: 62888
-
Devang Patel authored
llvm-svn: 62861
-
Dan Gohman authored
testcase from PR3376, and in fact is sufficient to completely avoid the problem in that testcase. There's an underlying problem though; TLI.isOperationLegal considers Custom to be Legal, which might be ok in some cases, but that's what DAGCombiner is using in many places to test if something is legal when LegalOperations is true. When DAGCombiner is running after legalize, this isn't sufficient. I'll address this in a separate commit. llvm-svn: 62860
-