Author: baldrick
Date: Mon Aug 27 11:30:05 2007
New Revision: 41490
URL: http://llvm.org/viewvc/llvm-project?rev=41490view=rev
Log:
Now that we don't output cleanups by default, the action
offset needs to be adjusted in this test.
Modified:
Author: baldrick
Date: Mon Aug 27 11:47:32 2007
New Revision: 41494
URL: http://llvm.org/viewvc/llvm-project?rev=41494view=rev
Log:
Fix this test: llvm-gcc-4.2 optimizes almost everything away,
resulting in zero matches, while llvm-gcc-4.1 manages to
remove one pointless selector changing the
Author: baldrick
Date: Mon Aug 27 14:58:09 2007
New Revision: 41509
URL: http://llvm.org/viewvc/llvm-project?rev=41509view=rev
Log:
After further thought and testing, it seems that
it is foreach_reachable_handler that should be
modified to agree with can_throw_external_1, and
not the other way
Author: baldrick
Date: Tue Aug 28 01:36:41 2007
New Revision: 41534
URL: http://llvm.org/viewvc/llvm-project?rev=41534view=rev
Log:
Turn off eh codegen because it breaks the x86
darwin build.
Modified:
llvm-gcc-4.0/trunk/gcc/llvm-backend.cpp
Modified: llvm-gcc-4.0/trunk/gcc/llvm-backend.cpp
Author: baldrick
Date: Tue Aug 28 01:40:16 2007
New Revision: 41535
URL: http://llvm.org/viewvc/llvm-project?rev=41535view=rev
Log:
Turn off eh codegen because it breaks the x86
darwin build.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
Author: baldrick
Date: Tue Aug 28 11:11:02 2007
New Revision: 41539
URL: http://llvm.org/viewvc/llvm-project?rev=41539view=rev
Log:
Forward port of r40542.
Restore llvm version info.
Modified:
llvm-gcc-4.2/trunk/gcc/Makefile.in
Modified: llvm-gcc-4.2/trunk/gcc/Makefile.in
URL:
+
@@ -1,25 +0,0 @@
-//===-- X86CodeEmitter.h - X86 DAG Lowering Interface ---*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file was developed by Duncan Sands and is distributed under
-// the University of Illinois Open Source License. See
Author: baldrick
Date: Wed Aug 29 02:01:18 2007
New Revision: 41561
URL: http://llvm.org/viewvc/llvm-project?rev=41561view=rev
Log:
Use the correct personality and unwind_resume functions for
the language being compiled.
Modified:
llvm-gcc-4.2/trunk/gcc/ada/misc.c
Author: baldrick
Date: Wed Aug 29 09:34:36 2007
New Revision: 41563
URL: http://llvm.org/viewvc/llvm-project?rev=41563view=rev
Log:
Let languages specify how to add a catch-all to the
end of an eh_selector call.
Modified:
llvm-gcc-4.2/trunk/gcc/cp/except.c
llvm-gcc-4.2/trunk/gcc/except.c
Hi Evan,
It already had ECX or'd in.
Then plz write something like 0xb8 | 1 and comment it so it's more
clear (to me at least :-).
this is from the original version - the version I committed before
the holidays already did 0xb8 | 1, and the version I just committed
does it even better :)
Author: baldrick
Date: Wed Sep 5 06:27:52 2007
New Revision: 41718
URL: http://llvm.org/viewvc/llvm-project?rev=41718view=rev
Log:
Fix PR1628. When exception handling is turned on,
labels are generated bracketing each call (not just
invokes). This is used to generate entries in
the exception
Author: baldrick
Date: Wed Sep 5 06:53:04 2007
New Revision: 41719
URL: http://llvm.org/viewvc/llvm-project?rev=41719view=rev
Log:
Testcases for PR1628.
Modified:
llvm/trunk/test/CodeGen/ARM/2007-05-07-tailmerge-1.ll
llvm/trunk/test/CodeGen/ARM/2007-05-09-tailmerge-2.ll
Author: baldrick
Date: Wed Sep 5 09:12:46 2007
New Revision: 41720
URL: http://llvm.org/viewvc/llvm-project?rev=41720view=rev
Log:
Due to label merging, the last label for an invoke
may be the same as the first label for the following
invoke. Remove a micro-optimization which was wrong
in this
Hi Dale,
+ return ConstantFP::get(Ty, Ty==Type::FloatTy ? APFloat((float)V)
+ : APFloat(V));
what does having the conversion to float do here?
Thanks,
Duncan.
___
llvm-commits mailing list
Author: baldrick
Date: Fri Sep 7 07:14:39 2007
New Revision: 41766
URL: http://llvm.org/viewvc/llvm-project?rev=41766view=rev
Log:
Revert r40096. It turns out that raise-gcc does use
tm.h after all, for checking whether EH_RETURN_DATA_REGNO
is defined. Instead, work around the Apple changes to
Hi Bill,
A variable that's constant in a constructor shouldn't make the
constructor itself non-constant.
does the testcase fail with 4.2?
Thanks,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
Hi Bill,
A variable that's constant in a constructor shouldn't make the
constructor itself non-constant.
does the testcase fail with 4.2?
I assumed that it did, but I'm not sure. Would you test it for me? I'm
not able to build 4.2 at this time.
the testcase passes with llvm-gcc-4.2
Currently LLVM has two intrinsics for supporting trampolines,
aka pointers to nested functions: init_trampoline and adjust_trampoline.
In essence, init_trampoline fills a block of memory with executable code,
and adjust_trampoline returns a suitable function pointer for calling that
code. These
Hi Nick,
It is easy to construct testcases for which this works, but sadly I was
unable to get
the optimization to occur even once in a trampoline heavy real-world
program without
jacking-up the inlining limit hugely (to 10; 1 wasn't enough).
Still, I'm
hoping that it
Author: baldrick
Date: Mon Sep 10 02:38:55 2007
New Revision: 41793
URL: http://llvm.org/viewvc/llvm-project?rev=41793view=rev
Log:
Forward port of 41791. Note that the original problem
was not visible with 4.2 because it has special handling
for the case of an empty filter, however the
Author: baldrick
Date: Tue Sep 11 07:09:22 2007
New Revision: 41839
URL: http://llvm.org/viewvc/llvm-project?rev=41839view=rev
Log:
Revert r41761 because it is not needed for 4.2.
Modified:
llvm-gcc-4.2/trunk/gcc/c-typeck.c
Modified: llvm-gcc-4.2/trunk/gcc/c-typeck.c
URL:
Author: baldrick
Date: Tue Sep 11 07:30:25 2007
New Revision: 41840
URL: http://llvm.org/viewvc/llvm-project?rev=41840view=rev
Log:
My compiler warns about the semicolon.
Modified:
llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp
Modified: llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp
URL:
Author: baldrick
Date: Tue Sep 11 09:10:23 2007
New Revision: 41841
URL: http://llvm.org/viewvc/llvm-project?rev=41841view=rev
Log:
Fold the adjust_trampoline intrinsic into
init_trampoline. There is now only one
trampoline intrinsic.
Modified:
llvm/trunk/docs/LangRef.html
Author: baldrick
Date: Tue Sep 11 09:18:58 2007
New Revision: 41842
URL: http://llvm.org/viewvc/llvm-project?rev=41842view=rev
Log:
Fold adjust_trampoline into init_trampoline. Store
the function pointer for the trampoline in the frame
struct rather than the trampoline itself.
Modified:
Author: baldrick
Date: Tue Sep 11 09:22:56 2007
New Revision: 41843
URL: http://llvm.org/viewvc/llvm-project?rev=41843view=rev
Log:
Fold adjust_trampoline into init_trampoline. Store
the function pointer for the trampoline in the frame
struct rather than the trampoline itself.
Modified:
Author: baldrick
Date: Tue Sep 11 09:35:41 2007
New Revision: 41844
URL: http://llvm.org/viewvc/llvm-project?rev=41844view=rev
Log:
Turn calls to trampolines into calls to the underlying
nested function.
Modified:
llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
Modified:
Author: baldrick
Date: Tue Sep 11 09:40:04 2007
New Revision: 41845
URL: http://llvm.org/viewvc/llvm-project?rev=41845view=rev
Log:
Two ParamAttrsVectors which differ by a permutation
of their elements do not yield the same ParamAttrsList,
though they should. On the other hand, everyone seems
to
Author: baldrick
Date: Tue Sep 11 10:07:50 2007
New Revision: 41846
URL: http://llvm.org/viewvc/llvm-project?rev=41846view=rev
Log:
Test that a call to a trampoline is turned into a call to
the underlying nested function.
Added:
llvm/trunk/test/Transforms/InstCombine/2007-09-11-Trampoline.ll
Hi Bill,
Alias definitions aren't supported on some platforms. Create a flag
(TARGET_DOES_NOT_SUPPORT_ALIAS_DEFINITIONS) that indicates this and stops us
from creating aliases.
is doing this in the front-end really the right approach? If a target doesn't
support aliases surely it is LLVM
Hi Bill,
Alias definitions aren't supported on some platforms. Create a
flag (TARGET_DOES_NOT_SUPPORT_ALIAS_DEFINITIONS) that indicates
this and stops us from creating aliases.
is doing this in the front-end really the right approach? If a
target doesn't
support aliases
Author: baldrick
Date: Mon Sep 17 05:26:40 2007
New Revision: 42021
URL: http://llvm.org/viewvc/llvm-project?rev=42021view=rev
Log:
Factor the trampoline transformation into a subroutine.
Modified:
llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
Modified:
Hi Chris,
My hope was that some of these trampoline calls could be eliminated
using this optimization. But for
that to happen, the routines in the container library have to be
small enough to be inlined. They are
not. In fact they're rather small in terms of lines of code, but
Hi,
Rewrite of andersen's to be about 100x faster, cleaner, and begin to support
field sensitivity
some nitpicking comments:
+// without any issues. To wit, an indirect call Y(a,b) is equivalence to
equivalence - equivalent
STATISTIC(NumIters, Number of iterations to reach
Hi Gordon,
+static bool HasPtrPtrType(Value *Val) {
I think hasPtrPtrType would be more in keeping with the LLVM naming rules
(whatever they are).
+static Value *StripBitCasts(Value *Val) {
how about using IntrinsicInst::StripPointerCasts instead?
+llvm.gcroot parameter #1 must
Hi Gordon, I don't know what xcode is, but I was surprised to see these:
+*.perspective
+*.pbxuser
are they right?
Thanks,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Hi,
+static Value *StripBitCasts(Value *Val) {
how about using IntrinsicInst::StripPointerCasts instead?
Done. Note that, although there's tantalizing GEP-0 handling in
StripPointerCasts, it's still not really possible to use gcroot
without bitcasts:
the reason for the GEP
Author: baldrick
Date: Wed Sep 19 02:43:17 2007
New Revision: 42128
URL: http://llvm.org/viewvc/llvm-project?rev=42128view=rev
Log:
Testcase for PR1678.
Added:
llvm/trunk/test/CFrontend/2007-09-17-WeakRef.c
Added: llvm/trunk/test/CFrontend/2007-09-17-WeakRef.c
URL:
Author: baldrick
Date: Wed Sep 19 05:10:31 2007
New Revision: 42130
URL: http://llvm.org/viewvc/llvm-project?rev=42130view=rev
Log:
A global variable with external weak linkage can be null, while
an alias could alias such a global variable.
Modified:
Author: baldrick
Date: Wed Sep 19 05:16:17 2007
New Revision: 42131
URL: http://llvm.org/viewvc/llvm-project?rev=42131view=rev
Log:
Partial fix for PR1678: correct some parts of constant
fold that were missed in the fix for PR1646. Probably
this null/not-null logic should be factorized
Author: baldrick
Date: Wed Sep 19 05:25:38 2007
New Revision: 42132
URL: http://llvm.org/viewvc/llvm-project?rev=42132view=rev
Log:
Improve comment.
Modified:
llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
URL:
Hi Dale,
+ case BUILT_IN_SQRTL:
+return false; // treat long double as normal call
case BUILT_IN_SQRT:
case BUILT_IN_SQRTF:
- case BUILT_IN_SQRTL:
// If errno math has been disabled, expand these to llvm.sqrt calls.
what's the problem here?
Thanks,
Duncan.
Code downstream, starting with EmitBuiltinUnaryFPOp, is not ready for
long double functions. This is not the best or a permanent fix, but
correct for the moment.
I see - thanks. By the way, how do you plan to handle constant folding
of sqrt and friends when the host doesn't handle long
Author: baldrick
Date: Thu Sep 20 13:56:24 2007
New Revision: 42171
URL: http://llvm.org/viewvc/llvm-project?rev=42171view=rev
Log:
Testcase for PR1678.
Added:
llvm/trunk/test/Transforms/InstCombine/2007-09-17-AliasConstFold2.ll
Added:
Author: baldrick
Date: Fri Sep 21 09:30:46 2007
New Revision: 42188
URL: http://llvm.org/viewvc/llvm-project?rev=42188view=rev
Log:
If TYPE_SIZE is null (in which case we almost certainly
never get here), then bail out conservatively rather than
optimistically. Likewise if TYPE_SIZE is negative.
Author: baldrick
Date: Fri Sep 21 09:30:11 2007
New Revision: 42187
URL: http://llvm.org/viewvc/llvm-project?rev=42187view=rev
Log:
If TYPE_SIZE is null (in which case we almost certainly
never get here), then bail out conservatively rather than
optimistically. Likewise if TYPE_SIZE is negative.
Adding support for __builtin_annotation with an intrinsic called
llvm.annotation. This is similar to llvm.var.annotation but is applied to
expressions.
Please also apply to llvm-gcc-4.2.
Duncan.
___
llvm-commits mailing list
Author: baldrick
Date: Sun Sep 23 03:02:11 2007
New Revision: 42243
URL: http://llvm.org/viewvc/llvm-project?rev=42243view=rev
Log:
Remove arrayLength, which calculated the length of
a possibly variable-sized array type as a gcc tree.
The problem is that we determine whether an array
type
Author: baldrick
Date: Sun Sep 23 03:05:10 2007
New Revision: 42244
URL: http://llvm.org/viewvc/llvm-project?rev=42244view=rev
Log:
I forgot to pull in the math libraries when I
added math library calls to work around missing
asm support for the x86 floating point stack.
Modified:
Hi Tanya,
XFAIL for llvm-gcc4.0
I'm pretty sure this only failed for llvm-gcc-4.2
but passed with 4.0... Did you mean 4.2 here?
Thanks,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
Hi DannyB,
@@ -287,6 +286,14 @@
}
BecameZero = allzero;
}
+ // Get a hash value for this element;
+ uint64_t getHashValue() const {
shouldn't there be a blank line before the added lines?
+// The Offline constraint graph optimization portion includes offline
variable
Author: baldrick
Date: Tue Sep 25 02:10:01 2007
New Revision: 42294
URL: http://llvm.org/viewvc/llvm-project?rev=42294view=rev
Log:
Add missing end-of-file newlines.
Modified:
llvm/trunk/lib/VMCore/DominatorCalculation.h
llvm/trunk/lib/VMCore/DominatorInternals.cpp
Modified:
Author: baldrick
Date: Tue Sep 25 08:53:22 2007
New Revision: 42296
URL: http://llvm.org/viewvc/llvm-project?rev=42296view=rev
Log:
Fix spelling.
Modified:
llvm/trunk/include/llvm/Type.h
Modified: llvm/trunk/include/llvm/Type.h
URL:
Author: baldrick
Date: Tue Sep 25 15:08:48 2007
New Revision: 42314
URL: http://llvm.org/viewvc/llvm-project?rev=42314view=rev
Log:
Add a newline to the end of this file.
Modified:
llvm/trunk/lib/Analysis/PostDominatorCalculation.h
Modified:
Author: baldrick
Date: Tue Sep 25 15:12:14 2007
New Revision: 42315
URL: http://llvm.org/viewvc/llvm-project?rev=42315view=rev
Log:
Handle scalar to aggregate VIEW_CONVERT_EXPR lvalue.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL:
Author: baldrick
Date: Tue Sep 25 22:22:27 2007
New Revision: 42336
URL: http://llvm.org/viewvc/llvm-project?rev=42336view=rev
Log:
Handle scalar to aggregate VIEW_CONVERT_EXPR lvalue.
Modified:
llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
URL:
This should also be safe to apply to 4.0, right?
I was testing it compiles :) Now applied.
Ciao,
Duncan.
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Author: baldrick
Date: Tue Sep 25 22:35:54 2007
New Revision: 42337
URL: http://llvm.org/viewvc/llvm-project?rev=42337view=rev
Log:
Restore wrongly deleted line.
Modified:
llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
URL:
Author: baldrick
Date: Tue Sep 25 23:14:45 2007
New Revision: 42339
URL: http://llvm.org/viewvc/llvm-project?rev=42339view=rev
Log:
Get rid of the old code for aligning locals, which did
funky stuff like
DECL_ALIGN(decl) = GET_MODE_BITSIZE(DECL_MODE(decl));
(copied from RTL), and instead just
Author: baldrick
Date: Tue Sep 25 23:17:07 2007
New Revision: 42340
URL: http://llvm.org/viewvc/llvm-project?rev=42340view=rev
Log:
Get rid of the old code for aligning locals, which did
funky stuff like
DECL_ALIGN(decl) = GET_MODE_BITSIZE(DECL_MODE(decl));
(copied from RTL), and instead just
Author: baldrick
Date: Wed Sep 26 02:28:20 2007
New Revision: 42350
URL: http://llvm.org/viewvc/llvm-project?rev=42350view=rev
Log:
Test the C front-end, not the C++ front-end.
Modified:
llvm/trunk/test/CFrontend/2007-06-05-NoInlineAttribute.c
Author: baldrick
Date: Wed Sep 26 10:59:54 2007
New Revision: 42356
URL: http://llvm.org/viewvc/llvm-project?rev=42356view=rev
Log:
Various cleanups. Especially, EH is turned on by default!
Modified:
llvm/trunk/docs/ReleaseNotes.html
Modified: llvm/trunk/docs/ReleaseNotes.html
URL:
Author: baldrick
Date: Wed Sep 26 11:24:52 2007
New Revision: 42357
URL: http://llvm.org/viewvc/llvm-project?rev=42357view=rev
Log:
X86 - X86-32 in appropriate places.
Modified:
llvm/trunk/docs/ReleaseNotes.html
Modified: llvm/trunk/docs/ReleaseNotes.html
URL:
To elaborate a bit more: one of the nice features of APFloat is that
we never do FP constant folding with host arithmetic operations
(everything is done with 'softfloat'). This ensures we get
deterministic results, as powerpc long double and x86 long double are
very different. We
Hi Chris,
How about constant folding calls to functions such as sqrt?
Do you mean sqrt specifically or something more general?
In general, we can extend APFloat to do lots of different math
functions, including sqrt etc. In practice, APFloat doesn't do sqrt
yet, so we use host
Author: baldrick
Date: Thu Sep 27 03:24:02 2007
New Revision: 42391
URL: http://llvm.org/viewvc/llvm-project?rev=42391view=rev
Log:
Grammer fix reported by Alex Kellett.
Modified:
llvm/trunk/docs/ReleaseNotes.html
Modified: llvm/trunk/docs/ReleaseNotes.html
URL:
Author: baldrick
Date: Thu Sep 27 03:24:36 2007
New Revision: 42392
URL: http://llvm.org/viewvc/llvm-project?rev=42392view=rev
Log:
SSSE3 - SSE3. Reported by Alex Kellett.
Modified:
llvm/trunk/docs/ReleaseNotes.html
Modified: llvm/trunk/docs/ReleaseNotes.html
URL:
-liBill Wendling added SSSE3 support to the X86 backend./li
+liBill Wendling added SSE3 support to the X86 backend./li
It really was SSSE3. :-)
Sorry about that! SSSE3 = Supplemental Streaming SIMD Extension 3.
Ciao,
Duncan.
___
llvm-commits
Hi Chris,
My hope was that some of these trampoline calls could be eliminated
using this optimization. But for...
It would be pretty straight-forward to implement an IPO pass that
turns trampoline pointers into fat pointers in cases like this.
that's a very interesting idea. It
Hi Dale, on my machine (x86-32, linux) LLVM considers long double to
have a size of 10 bytes and an alignment of 4 bytes. GCC gives it a
size of 12 bytes and an alignment of 4 bytes (of course only the first
80 bits (10 bytes) are actually used - the rest is padding).
I can see several problems
are spaced the same then I am happy. That said, the
meanings of type size etc should probably be well documented somewhere,
especially the fact that successive array elements may be space more
than the size apart.
Best wishes,
Duncan.
On Sep 28, 2007, at 1:04 PM, Duncan Sands wrote:
Hi Dale
Hi Chris,
Also
5. Within foo, you need to check that nothing too complicated is
done to P1, for example it isn't stored in a global or passed to
some other function.
Actually, worse case, you could just make a trampoline in foo.
However, you're right that this is only worth doing
Author: baldrick
Date: Sat Sep 29 11:25:54 2007
New Revision: 42469
URL: http://llvm.org/viewvc/llvm-project?rev=42469view=rev
Log:
Check that the second parameter of init_trampoline
can be resolved to a function. This is required
for codegen and used by instcombine.
Modified:
Author: baldrick
Date: Sat Sep 29 11:38:37 2007
New Revision: 42470
URL: http://llvm.org/viewvc/llvm-project?rev=42470view=rev
Log:
Add newline at end of file.
Modified:
llvm/trunk/include/llvm/Analysis/DominatorInternals.h
Modified: llvm/trunk/include/llvm/Analysis/DominatorInternals.h
By the way, to be consistent, getTypeSize for an APInt
should return the number of bits rounded up to a multiple
of 8, rather than rounded up to a power of 2 as it is now.
Shall I make this change?
Ciao,
Duncan.
___
llvm-commits mailing list
By the way, to be consistent, getTypeSize for an APInt
should return the number of bits rounded up to a multiple
of 8, rather than rounded up to a power of 2 as it is now.
Shall I make this change?
Due to the way ExpandOp works for loads and stores, it looks
like the size needs to be the
Hi Dale,
The attached patch, plus the bits I've checked in, seems to work.
There are no problems in the llvm testsuite but there's something
funny going on in the gcc testsuite, although I'm not convinced it's
the fault of this patch, so I'm not checking it in until I get that
Author: baldrick
Date: Fri Oct 5 05:37:00 2007
New Revision: 42631
URL: http://llvm.org/viewvc/llvm-project?rev=42631view=rev
Log:
Fix typo in comment.
Modified:
llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
Modified: llvm/trunk/include/llvm/CodeGen/SelectionDAGNodes.h
URL:
Author: baldrick
Date: Wed Oct 10 04:54:50 2007
New Revision: 42824
URL: http://llvm.org/viewvc/llvm-project?rev=42824view=rev
Log:
Correct swapped arguments to getConstant.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Modified:
Hi Arnold,
+ /// tail call optimization. Target which want to do tail call optimization
+ /// should implement this function.
Target - Targets. Also shouldn't it be override rather than implement?
+ /// PerformTailCallOpt - This flag is enabled when the -tailcallopt is
when the - when
Author: baldrick
Date: Fri Oct 12 14:37:31 2007
New Revision: 42925
URL: http://llvm.org/viewvc/llvm-project?rev=42925view=rev
Log:
Due to the new tail call optimization, trampolines can no
longer be created for fastcc functions.
Modified:
llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
Author: baldrick
Date: Sat Oct 13 02:38:37 2007
New Revision: 42955
URL: http://llvm.org/viewvc/llvm-project?rev=42955view=rev
Log:
Clarify that fastcc has a problem with nested function
trampolines, rather than with nested functions themselves.
Modified:
Hi Chris, this sounds like a big improvement! Where did you find the time
to do this?!
A few comments.
1. When finished, this will *significantly* reduce the amount of code in
LegalizeDAG.cpp. It will remove all the code related to promotion and
expansion as well as splitting and
Author: baldrick
Date: Mon Oct 15 08:30:18 2007
New Revision: 42982
URL: http://llvm.org/viewvc/llvm-project?rev=42982view=rev
Log:
Fix some typos. Call getTypeToTransformTo rather than
getTypeToExpandTo. The difference is that
getTypeToExpandTo gives the final result of expansion
(eg: i128 -
+SDOperand DAGTypeLegalizer::PromoteResult_TRUNCATE(SDNode *N) {
+ MVT::ValueType NVT = TLI.getTypeToTransformTo(N-getValueType(0));
+ switch (getTypeAction(N-getOperand(0).getValueType())) {
Presumably this switch is redundant, because it must be Promote,
and you just didn't get
Hi Devang,
// float foo(int w, float A[][w], int g) { return A[g][0]; }
ArrayAddr = BitCastToType(ArrayAddr, PointerType::get(Type::Int8Ty));
- Value *TypeSize = Emit(array_ref_element_size(exp), 0);
- TypeSize = CastToUIntType(TypeSize, IntPtrTy);
+ Value *TypeSize = NULL;
Hi Chris,
By the way the logic supposes that the result of any node is an
operand for
some other node. Is at least one result always used?
Nope, nodes are allowed to be unreachable/dead. What part assumes
that they are used?
I thought I had spotted a problem, but I can't find it
Author: baldrick
Date: Tue Oct 16 04:07:20 2007
New Revision: 43028
URL: http://llvm.org/viewvc/llvm-project?rev=43028view=rev
Log:
Fixes due to lack of type-safety for ValueType: (1) ValueType
being passed instead of an opcode; (2) ValueType being passed
for isVolatile (!) in getLoad.
Modified:
Author: baldrick
Date: Tue Oct 16 04:56:48 2007
New Revision: 43030
URL: http://llvm.org/viewvc/llvm-project?rev=43030view=rev
Log:
Initial infrastructure for arbitrary precision integer
codegen support. This should have no effect on codegen
for other types. Debatable bits: (1) the use (abuse?)
Author: baldrick
Date: Tue Oct 16 08:34:11 2007
New Revision: 43031
URL: http://llvm.org/viewvc/llvm-project?rev=43031view=rev
Log:
Document the fact that the verifier currently requires the
top bit of a ValueType to be zero. Enforce this by ensuring
an assertion failure if someone tries to
Author: baldrick
Date: Wed Oct 17 08:49:58 2007
New Revision: 43071
URL: http://llvm.org/viewvc/llvm-project?rev=43071view=rev
Log:
Return Expand from getOperationAction for all extended
types. This is needed for SIGN_EXTEND_INREG at least.
It is not clear if this is correct for other
Hi Chris,
Return Expand from getOperationAction for all extended
types. This is needed for SIGN_EXTEND_INREG at least.
It is not clear if this is correct for other operations.
On the other hand, for the various load/store actions
it seems to correct to return the type action, as is
Author: baldrick
Date: Thu Oct 18 03:22:16 2007
New Revision: 43119
URL: http://llvm.org/viewvc/llvm-project?rev=43119view=rev
Log:
Support for ADDC/SUBC.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAGTypes.cpp
Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAGTypes.cpp
Hi Bill,
When ObjC is using SJLJ exceptions, don't create an unwind basic block
is this to avoid calling unwind resume? Do SJLJ exceptions actually
work with ObjC - I thought LLVM support was needed for sjlj exceptions
(I only looked at 4.2 though).
Thanks,
Duncan.
Hi Devang,
Do not raise free() call that is called through invoke instruction.
why not? As far as I know free cannot raise an exception, and we
don't support trapping exceptions for the moment.
Ciao,
Duncan.
___
llvm-commits mailing list
Thanks Bill, the patch looks fine. This needs a testcase and needs
to be applied to 4.2 if it has the same problem,
Will do.
In 4.2 the unwind-resume function is configurable. For objc with SJLJ
exceptions it should be _Unwind_SjLj_Resume. If this is not correct for
objc, this can be
On Thursday 18 October 2007 10:56:40 Bill Wendling wrote:
On Oct 18, 2007, at 1:45 AM, Duncan Sands wrote:
Thanks Bill, the patch looks fine. This needs a testcase and needs
to be applied to 4.2 if it has the same problem,
Will do.
In 4.2 the unwind-resume function is configurable
Author: baldrick
Date: Fri Oct 19 15:03:02 2007
New Revision: 43187
URL: http://llvm.org/viewvc/llvm-project?rev=43187view=rev
Log:
Only declare the exception handling personality and
unwind resume functions if they are actually used.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Author: baldrick
Date: Fri Oct 19 15:29:48 2007
New Revision: 43190
URL: http://llvm.org/viewvc/llvm-project?rev=43190view=rev
Log:
Add support for a few more nodes.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAGTypes.cpp
Modified:
Author: baldrick
Date: Fri Oct 19 08:06:17 2007
New Revision: 43175
URL: http://llvm.org/viewvc/llvm-project?rev=43175view=rev
Log:
Support for expanding ADDE and SUBE.
Modified:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAGTypes.cpp
Modified:
Author: baldrick
Date: Fri Oct 19 08:05:40 2007
New Revision: 43174
URL: http://llvm.org/viewvc/llvm-project?rev=43174view=rev
Log:
If the value types are equal then this routine
asserts in later checks rather than producing
the ordinary load it is supposed to. Avoid all
such hassles by directly
301 - 400 of 732 matches
Mail list logo