[llvm-commits] [llvm] r45403 - in /llvm/trunk/lib/Transforms/Scalar: InstructionCombining.cpp SCCP.cpp
Author: clamb Date: Sat Dec 29 01:56:53 2007 New Revision: 45403 URL: http://llvm.org/viewvc/llvm-project?rev=45403&view=rev Log: Disable null pointer folding transforms for non-generic address spaces. This should probably be a target-specific predicate based on address space. That way for targets where this isn't applicable the predicate can be optimized away. Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp llvm/trunk/lib/Transforms/Scalar/SCCP.cpp Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp?rev=45403&r1=45402&r2=45403&view=diff == --- llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp (original) +++ llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp Sat Dec 29 01:56:53 2007 @@ -9338,8 +9338,11 @@ return ReplaceInstUsesWith(LI, LIB); } - if (GetElementPtrInst *GEPI = dyn_cast(Op)) -if (isa(GEPI->getOperand(0))) { + if (GetElementPtrInst *GEPI = dyn_cast(Op)) { +const Value *GEPI0 = GEPI->getOperand(0); +// TODO: Consider a target hook for valid address spaces for this xform. +if (isa(GEPI0) && +cast(GEPI0->getType())->getAddressSpace() == 0) { // Insert a new store to null instruction before the load to indicate // that this code is not reachable. We do this instead of inserting // an unreachable instruction directly because we cannot modify the @@ -9348,10 +9351,13 @@ Constant::getNullValue(Op->getType()), &LI); return ReplaceInstUsesWith(LI, UndefValue::get(LI.getType())); } + } if (Constant *C = dyn_cast(Op)) { // load null/undef -> undef -if ((C->isNullValue() || isa(C))) { +// TODO: Consider a target hook for valid address spaces for this xform. +if (isa(C) || (C->isNullValue() && +cast(Op->getType())->getAddressSpace() == 0)) { // Insert a new store to null instruction before the load to indicate that // this code is not reachable. We do this instead of inserting an // unreachable instruction directly because we cannot modify the CFG. Modified: llvm/trunk/lib/Transforms/Scalar/SCCP.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/SCCP.cpp?rev=45403&r1=45402&r2=45403&view=diff == --- llvm/trunk/lib/Transforms/Scalar/SCCP.cpp (original) +++ llvm/trunk/lib/Transforms/Scalar/SCCP.cpp Sat Dec 29 01:56:53 2007 @@ -1015,7 +1015,9 @@ if (PtrVal.isUndefined()) return; // The pointer is not resolved yet! if (PtrVal.isConstant() && !I.isVolatile()) { Value *Ptr = PtrVal.getConstant(); -if (isa(Ptr)) { +// TODO: Consider a target hook for valid address spaces for this xform. +if (isa(Ptr) && +cast(Ptr->getType())->getAddressSpace() == 0) { // load null -> null markConstant(IV, &I, Constant::getNullValue(I.getType())); return; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45404 - in /llvm/trunk: lib/Target/X86/README.txt test/CodeGen/X86/sext-load.ll
Author: lattner Date: Sat Dec 29 02:19:39 2007 New Revision: 45404 URL: http://llvm.org/viewvc/llvm-project?rev=45404&view=rev Log: this xform is implemented. Added: llvm/trunk/test/CodeGen/X86/sext-load.ll Modified: llvm/trunk/lib/Target/X86/README.txt Modified: llvm/trunk/lib/Target/X86/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/README.txt?rev=45404&r1=45403&r2=45404&view=diff == --- llvm/trunk/lib/Target/X86/README.txt (original) +++ llvm/trunk/lib/Target/X86/README.txt Sat Dec 29 02:19:39 2007 @@ -702,28 +702,6 @@ //===-===// -We currently compile sign_extend_inreg into two shifts: - -long foo(long X) { - return (long)(signed char)X; -} - -becomes: - -_foo: -movl 4(%esp), %eax -shll $24, %eax -sarl $24, %eax -ret - -This could be: - -_foo: -movsbl 4(%esp),%eax -ret - -//===-===// - Consider the expansion of: uint %test3(uint %X) { Added: llvm/trunk/test/CodeGen/X86/sext-load.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sext-load.ll?rev=45404&view=auto == --- llvm/trunk/test/CodeGen/X86/sext-load.ll (added) +++ llvm/trunk/test/CodeGen/X86/sext-load.ll Sat Dec 29 02:19:39 2007 @@ -0,0 +1,9 @@ +; RUN: llvm-as < %s | llc -march=x86 | grep movsbl + +define i32 @foo(i32 %X) nounwind { +entry: + %tmp12 = trunc i32 %X to i8 ; [#uses=1] + %tmp123 = sext i8 %tmp12 to i32 ; [#uses=1] + ret i32 %tmp123 +} + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45405 - in /llvm/trunk: lib/CodeGen/SelectionDAG/TargetLowering.cpp lib/Target/X86/README.txt test/CodeGen/X86/isnan.ll
Author: lattner Date: Sat Dec 29 02:37:08 2007 New Revision: 45405 URL: http://llvm.org/viewvc/llvm-project?rev=45405&view=rev Log: Fold comparisons against a constant nan, and optimize ORD/UNORD comparisons with a constant. This allows us to compile isnan to: _foo: fcmpu cr7, f1, f1 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr instead of: LCPI1_0:; float .space 4 _foo: lis r2, ha16(LCPI1_0) lfs f0, lo16(LCPI1_0)(r2) fcmpu cr7, f1, f0 mfcr r2 rlwinm r3, r2, 0, 31, 31 blr Added: llvm/trunk/test/CodeGen/X86/isnan.ll Modified: llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp llvm/trunk/lib/Target/X86/README.txt Modified: llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp?rev=45405&r1=45404&r2=45405&view=diff == --- llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp Sat Dec 29 02:37:08 2007 @@ -1280,6 +1280,28 @@ // Constant fold or commute setcc. SDOperand O = DAG.FoldSetCC(VT, N0, N1, Cond); if (O.Val) return O; + } else if (ConstantFPSDNode *CFP = dyn_cast(N1.Val)) { +// If the RHS of an FP comparison is a constant, simplify it away in +// some cases. +if (CFP->getValueAPF().isNaN()) { + // If an operand is known to be a nan, we can fold it. + switch (ISD::getUnorderedFlavor(Cond)) { + default: assert(0 && "Unknown flavor!"); + case 0: // Known false. +return DAG.getConstant(0, VT); + case 1: // Known true. +return DAG.getConstant(1, VT); + case 2: // undefind. +return DAG.getNode(ISD::UNDEF, VT); + } +} + +// Otherwise, we know the RHS is not a NaN. Simplify the node to drop the +// constant if knowing that the operand is non-nan is enough. We prefer to +// have SETO(x,x) instead of SETO(x, 0.0) because this avoids having to +// materialize 0.0. +if (Cond == ISD::SETO || Cond == ISD::SETUO) + return DAG.getSetCC(VT, N0, N0, Cond); } if (N0 == N1) { Modified: llvm/trunk/lib/Target/X86/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/README.txt?rev=45405&r1=45404&r2=45405&view=diff == --- llvm/trunk/lib/Target/X86/README.txt (original) +++ llvm/trunk/lib/Target/X86/README.txt Sat Dec 29 02:37:08 2007 @@ -816,23 +816,6 @@ //===-===// -This: -#include -int foo(double X) { return isnan(X); } - -compiles to (-m64): - -_foo: -pxor %xmm1, %xmm1 -ucomisd %xmm1, %xmm0 -setp %al -movzbl %al, %eax -ret - -the pxor is not needed, we could compare the value against itself. - -//===-===// - These two functions have identical effects: unsigned int f(unsigned int i, unsigned int n) {++i; if (i == n) ++i; return i;} Added: llvm/trunk/test/CodeGen/X86/isnan.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/isnan.ll?rev=45405&view=auto == --- llvm/trunk/test/CodeGen/X86/isnan.ll (added) +++ llvm/trunk/test/CodeGen/X86/isnan.ll Sat Dec 29 02:37:08 2007 @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | llc -march=x86 -mcpu=yonah | not grep pxor + +; This should not need to materialize 0.0 to evaluate the condition. + +define i32 @test(double %X) nounwind { +entry: + %tmp6 = fcmp uno double %X, 0.00e+00; [#uses=1] + %tmp67 = zext i1 %tmp6 to i32 ; [#uses=1] + ret i32 %tmp67 +} + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] [llvm] r45405 - in /llvm/tr unk: lib/CodeGen/SelectionDAG/TargetLow ering.cpp lib/Target/X86/README.txt
Hello, Chris > _foo: > fcmpu cr7, f1, f1 > mfcr r2 > rlwinm r3, r2, 0, 31, 31 > blr How this is connected with X86 changes? :) -- WBR, Anton Korobeynikov ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] [llvm] r45405 - in /llvm/trunk: lib/CodeGen/SelectionDAG/TargetLowering.cpp lib/Target/X86/README.txt
On Dec 29, 2007, at 2:27 AM, Anton Korobeynikov wrote: > Hello, Chris > >> _foo: >> fcmpu cr7, f1, f1 >> mfcr r2 >> rlwinm r3, r2, 0, 31, 31 >> blr > How this is connected with X86 changes? :) It's a target independent improvement :) -Chris ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45406 - /llvm/trunk/test/CodeGen/X86/vec_set-7.ll
Author: lattner Date: Sat Dec 29 13:24:06 2007 New Revision: 45406 URL: http://llvm.org/viewvc/llvm-project?rev=45406&view=rev Log: upgrade this test Modified: llvm/trunk/test/CodeGen/X86/vec_set-7.ll Modified: llvm/trunk/test/CodeGen/X86/vec_set-7.ll URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/vec_set-7.ll?rev=45406&r1=45405&r2=45406&view=diff == --- llvm/trunk/test/CodeGen/X86/vec_set-7.ll (original) +++ llvm/trunk/test/CodeGen/X86/vec_set-7.ll Sat Dec 29 13:24:06 2007 @@ -1,10 +1,11 @@ -; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -mattr=+sse2 | grep movsd | count 1 +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep movsd | count 1 -<2 x long> %test(<2 x long>* %p) { - %tmp = cast <2 x long>* %p to double* - %tmp = load double* %tmp - %tmp = insertelement <2 x double> undef, double %tmp, uint 0 - %tmp5 = insertelement <2 x double> %tmp, double 0.00e+00, uint 1 - %tmp = cast <2 x double> %tmp5 to <2 x long> - ret <2 x long> %tmp +define <2 x i64> @test(<2 x i64>* %p) { + %tmp = bitcast <2 x i64>* %p to double* + %tmp.upgrd.1 = load double* %tmp + %tmp.upgrd.2 = insertelement <2 x double> undef, double %tmp.upgrd.1, i32 0 + %tmp5 = insertelement <2 x double> %tmp.upgrd.2, double 0.0, i32 1 + %tmp.upgrd.3 = bitcast <2 x double> %tmp5 to <2 x i64> + ret <2 x i64> %tmp.upgrd.3 } + ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45407 - in /llvm/trunk: lib/Target/X86/README-SSE.txt test/CodeGen/X86/vec_set-8.ll
Author: lattner Date: Sat Dec 29 13:31:47 2007 New Revision: 45407 URL: http://llvm.org/viewvc/llvm-project?rev=45407&view=rev Log: One readme entry is done, one is really easy (Evan, want to investigate eliminating the llvm.x86.sse2.loadl.pd intrinsic?), one shuffle optzn may be done (if shufps is better than pinsw, Evan, please review), and we already know about LICM of simple instructions. Added: llvm/trunk/test/CodeGen/X86/vec_set-8.ll Modified: llvm/trunk/lib/Target/X86/README-SSE.txt Modified: llvm/trunk/lib/Target/X86/README-SSE.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/README-SSE.txt?rev=45407&r1=45406&r2=45407&view=diff == --- llvm/trunk/lib/Target/X86/README-SSE.txt (original) +++ llvm/trunk/lib/Target/X86/README-SSE.txt Sat Dec 29 13:31:47 2007 @@ -456,6 +456,18 @@ So icc is smart enough to know that B is in memory so it doesn't load it and store it back to stack. +This should be fixed by eliminating the llvm.x86.sse2.loadl.pd intrinsic, +lowering it to a load+insertelement instead. Already match the load+shuffle +as movlpd, so this should be easy. We already get optimal code for: + +define void @test2(<2 x double>* %r, <2 x double>* %A, double %B) { +entry: + %tmp2 = load <2 x double>* %A, align 16 + %tmp8 = insertelement <2 x double> %tmp2, double %B, i32 0 + store <2 x double> %tmp8, <2 x double>* %r, align 16 + ret void +} + //===-===// __m128d test1( __m128d A, __m128d B) { @@ -476,10 +488,10 @@ This code generates ugly code, probably due to costs being off or something: -void %test(float* %P, <4 x float>* %P2 ) { +define void @test(float* %P, <4 x float>* %P2 ) { %xFloat0.688 = load float* %P -%loadVector37.712 = load <4 x float>* %P2 -%inFloat3.713 = insertelement <4 x float> %loadVector37.712, float 0.00e+00, uint 3 +%tmp = load <4 x float>* %P2 +%inFloat3.713 = insertelement <4 x float> %tmp, float 0.0, i32 3 store <4 x float> %inFloat3.713, <4 x float>* %P2 ret void } @@ -487,17 +499,16 @@ Generates: _test: -pxor %xmm0, %xmm0 -movd %xmm0, %eax;; EAX = 0! -movl 8(%esp), %ecx -movaps (%ecx), %xmm0 -pinsrw $6, %eax, %xmm0 -shrl $16, %eax ;; EAX = 0 again! -pinsrw $7, %eax, %xmm0 -movaps %xmm0, (%ecx) -ret + movl8(%esp), %eax + movaps (%eax), %xmm0 + pxor%xmm1, %xmm1 + movaps %xmm0, %xmm2 + shufps $50, %xmm1, %xmm2 + shufps $132, %xmm2, %xmm0 + movaps %xmm0, (%eax) + ret -It would be better to generate: +Would it be better to generate: _test: movl 8(%esp), %ecx @@ -508,7 +519,7 @@ movaps %xmm0, (%ecx) ret -or use pxor (to make a zero vector) and shuffle (to insert it). +? //===-===// @@ -576,32 +587,6 @@ //===-===// -This code: - -#include -__m128i test(long long i) { return _mm_cvtsi64x_si128(i); } - -Should turn into a single 'movq %rdi, %xmm0' instruction. Instead, we -get this (on x86-64): - -_test: - movd %rdi, %xmm1 - xorps %xmm0, %xmm0 - movsd %xmm1, %xmm0 - ret - -The LLVM IR is: - -target triple = "x86_64-apple-darwin8" -define <2 x i64> @test(i64 %i) { -entry: - %tmp10 = insertelement <2 x i64> undef, i64 %i, i32 0 - %tmp11 = insertelement <2 x i64> %tmp10, i64 0, i32 1 - ret <2 x i64> %tmp11 -} - -//===-===// - These functions should produce the same code: #include @@ -671,43 +656,6 @@ //===-===// -In this loop: - -bb49: ; preds = %bb49, %bb49.preheader - %indvar = phi i32 [ 0, %bb49.preheader ], [ %indvar.next, %bb49 ] ; [#uses=2] - %dp.089.0.rec = shl i32 %indvar, 3 ; [#uses=2] - %dp.089.0 = getelementptr i32* %tmp89, i32 %dp.089.0.rec ; [#uses=1] - %tmp5051 = bitcast i32* %dp.089.0 to <2 x i64>* ; <<2 x i64>*> [#uses=1] - store <2 x i64> zeroinitializer, <2 x i64>* %tmp5051, align 16 - %dp.089.0.sum105 = or i32 %dp.089.0.rec, 4 ; [#uses=1] - %tmp56 = getelementptr i32* %tmp89, i32 %dp.089.0.sum105 ; [#uses=1] - %tmp5657 = bitcast i32* %tmp56 to <2 x i64>*; <<2 x i64>*> [#uses=1] - store <2 x i64> zeroinitializer, <2 x i64>* %tmp5657, align 16 - %indvar.next = add i32 %indvar, 1 ; [#uses=2] - %exitcond = icmp eq i32 %indvar.next, %tmp98; [#uses=1] - br i1 %exitcond,
[llvm-commits] [llvm] r45408 - /llvm/trunk/lib/Target/README.txt
Author: lattner Date: Sat Dec 29 13:38:02 2007 New Revision: 45408 URL: http://llvm.org/viewvc/llvm-project?rev=45408&view=rev Log: this is done. Modified: llvm/trunk/lib/Target/README.txt Modified: llvm/trunk/lib/Target/README.txt URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/README.txt?rev=45408&r1=45407&r2=45408&view=diff == --- llvm/trunk/lib/Target/README.txt (original) +++ llvm/trunk/lib/Target/README.txt Sat Dec 29 13:38:02 2007 @@ -131,13 +131,6 @@ //===-===// -We should constant fold vector type casts at the LLVM level, regardless of the -cast. Currently we cannot fold some casts because we don't have TargetData -information in the constant folder, so we don't know the endianness of the -target! - -//===-===// - Add support for conditional increments, and other related patterns. Instead of: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45409 - in /llvm/trunk/docs: CodingStandards.html DeveloperPolicy.html
Author: lattner Date: Sat Dec 29 13:56:08 2007 New Revision: 45409 URL: http://llvm.org/viewvc/llvm-project?rev=45409&view=rev Log: Don't attribute in file headers anymore. See llvmdev for the discussion of this change. Modified: llvm/trunk/docs/CodingStandards.html llvm/trunk/docs/DeveloperPolicy.html Modified: llvm/trunk/docs/CodingStandards.html URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CodingStandards.html?rev=45409&r1=45408&r2=45409&view=diff == --- llvm/trunk/docs/CodingStandards.html (original) +++ llvm/trunk/docs/CodingStandards.html Sat Dec 29 13:56:08 2007 @@ -134,8 +134,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed byand is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // @@ -146,9 +146,7 @@ -A few things to note about this particular format: The 'developed by' line -should be the name of the person or organization who initially contributed the -file. The "-*- C++ +A few things to note about this particular format: The "-*- C++ -*-" string on the first line is there to tell Emacs that the source file is a C++ file, not a C file (Emacs assumes .h files are C files by default). Note that this tag is not necessary in .cpp files. The name of the file is also @@ -156,9 +154,9 @@ file. This is important when printing out code and flipping though lots of pages. -The next section in the file is a concise note that defines the license that -the file is released under. This makes it perfectly clear what terms the source -code can be distributed under. +The next section in the file is a concise note that defines the license +that the file is released under. This makes it perfectly clear what terms the +source code can be distributed under and should not be modified in any way. The main body of the description does not have to be very long in most cases. Here it's only two lines. If an algorithm is being implemented or something Modified: llvm/trunk/docs/DeveloperPolicy.html URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/DeveloperPolicy.html?rev=45409&r1=45408&r2=45409&view=diff == --- llvm/trunk/docs/DeveloperPolicy.html (original) +++ llvm/trunk/docs/DeveloperPolicy.html Sat Dec 29 13:56:08 2007 @@ -417,28 +417,12 @@ We believe in correct attribution of contributions to their contributors. However, we do not want the source code to be littered - with random attributions (this is noisy/distracting and revision control - keeps a perfect history of this anyway). As such, we follow these rules: - -Developers who originate new files in LLVM should place their name at -the top of the file per the -Coding Standards. -There should be only one name at the top of the file and it should be -the person who created the file. -Placing your name in the file does not imply copyright: it is only used to attribute the file to -its original author. -Developers should be aware that after some time has passed, the name at -the top of a file may become meaningless as maintenance/ownership of files -changes. Despite this, once set, the attribution of a file never changes. -Revision control keeps an accurate history of contributions. -Developers should maintain their entry in the -http://llvm.org/svn/llvm-project/llvm/trunk/CREDITS.TXT";>CREDITS.txt -file to summarize their contributions. -Commit comments should contain correct attribution of the person who -submitted the patch if that person is not the committer (i.e. when a -developer with commit privileges commits a patch for someone else). - + with random attributions "this code written by J Random Guy" (this is noisy + and distracting. In practice, the revision control system keeps a perfect + history of who change what, and the CREDITS.txt file describes higher-level + contributions. + + Overall, please do not add contributor names to the source base. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45414 - in /llvm/trunk: tools/ tools/bugpoint/ tools/gccas/ tools/gccld/ tools/llc/ tools/lli/ tools/llvm-ar/ tools/llvm-as/ tools/llvm-bcanalyzer/ tools/llvm-config/ tools/llvm
Author: lattner Date: Sat Dec 29 14:07:17 2007 New Revision: 45414 URL: http://llvm.org/viewvc/llvm-project?rev=45414&view=rev Log: remove attributions from tools/utils makefiles. Modified: llvm/trunk/tools/Makefile llvm/trunk/tools/bugpoint/Makefile llvm/trunk/tools/gccas/Makefile llvm/trunk/tools/gccld/Makefile llvm/trunk/tools/llc/Makefile llvm/trunk/tools/lli/Makefile llvm/trunk/tools/llvm-ar/Makefile llvm/trunk/tools/llvm-as/Makefile llvm/trunk/tools/llvm-bcanalyzer/Makefile llvm/trunk/tools/llvm-config/Makefile llvm/trunk/tools/llvm-db/Makefile llvm/trunk/tools/llvm-dis/Makefile llvm/trunk/tools/llvm-extract/Makefile llvm/trunk/tools/llvm-ld/Makefile llvm/trunk/tools/llvm-link/Makefile llvm/trunk/tools/llvm-nm/Makefile llvm/trunk/tools/llvm-prof/Makefile llvm/trunk/tools/llvm-ranlib/Makefile llvm/trunk/tools/llvm-stub/Makefile llvm/trunk/tools/llvm-upgrade/Makefile llvm/trunk/tools/llvm2cpp/Makefile llvm/trunk/tools/llvmc/Makefile llvm/trunk/tools/lto/Makefile llvm/trunk/tools/opt/Makefile llvm/trunk/utils/Makefile llvm/trunk/utils/PerfectShuffle/Makefile llvm/trunk/utils/TableGen/Makefile llvm/trunk/utils/fpcmp/Makefile Modified: llvm/trunk/tools/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/Makefile?rev=45414&r1=45413&r2=45414&view=diff == --- llvm/trunk/tools/Makefile (original) +++ llvm/trunk/tools/Makefile Sat Dec 29 14:07:17 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## Modified: llvm/trunk/tools/bugpoint/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/Makefile?rev=45414&r1=45413&r2=45414&view=diff == --- llvm/trunk/tools/bugpoint/Makefile (original) +++ llvm/trunk/tools/bugpoint/Makefile Sat Dec 29 14:07:17 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## LEVEL = ../.. Modified: llvm/trunk/tools/gccas/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/gccas/Makefile?rev=45414&r1=45413&r2=45414&view=diff == --- llvm/trunk/tools/gccas/Makefile (original) +++ llvm/trunk/tools/gccas/Makefile Sat Dec 29 14:07:17 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by Reid Spencer and is distributed under the -# University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## LEVEL = ../.. Modified: llvm/trunk/tools/gccld/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/gccld/Makefile?rev=45414&r1=45413&r2=45414&view=diff == --- llvm/trunk/tools/gccld/Makefile (original) +++ llvm/trunk/tools/gccld/Makefile Sat Dec 29 14:07:17 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## Modified: llvm/trunk/tools/llc/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llc/Makefile?rev=45414&r1=45413&r2=45414&view=diff == --- llvm/trunk/tools/llc/Makefile (original) +++ llvm/trunk/tools/llc/Makefile Sat Dec 29 14:07:17 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed
[llvm-commits] [llvm] r45415 - in /llvm/trunk/lib: ./ Analysis/ Analysis/IPA/ Archive/ AsmParser/ Bitcode/ Bitcode/Reader/ Bitcode/Writer/ CodeGen/ CodeGen/SelectionDAG/ Debugger/ ExecutionEngine/ Exe
Author: lattner Date: Sat Dec 29 14:09:26 2007 New Revision: 45415 URL: http://llvm.org/viewvc/llvm-project?rev=45415&view=rev Log: remove attribution from lib Makefiles. Modified: llvm/trunk/lib/Analysis/IPA/Makefile llvm/trunk/lib/Analysis/Makefile llvm/trunk/lib/Archive/Makefile llvm/trunk/lib/AsmParser/Makefile llvm/trunk/lib/Bitcode/Makefile llvm/trunk/lib/Bitcode/Reader/Makefile llvm/trunk/lib/Bitcode/Writer/Makefile llvm/trunk/lib/CodeGen/Makefile llvm/trunk/lib/CodeGen/SelectionDAG/Makefile llvm/trunk/lib/Debugger/Makefile llvm/trunk/lib/ExecutionEngine/Interpreter/Makefile llvm/trunk/lib/ExecutionEngine/JIT/Makefile llvm/trunk/lib/ExecutionEngine/Makefile llvm/trunk/lib/Linker/Makefile llvm/trunk/lib/Makefile llvm/trunk/lib/Support/Makefile llvm/trunk/lib/System/Makefile llvm/trunk/lib/Target/ARM/Makefile llvm/trunk/lib/Target/Alpha/Makefile llvm/trunk/lib/Target/CBackend/Makefile llvm/trunk/lib/Target/CellSPU/Makefile llvm/trunk/lib/Target/IA64/Makefile llvm/trunk/lib/Target/MSIL/Makefile llvm/trunk/lib/Target/Makefile llvm/trunk/lib/Target/Mips/Makefile llvm/trunk/lib/Target/PowerPC/Makefile llvm/trunk/lib/Target/Sparc/Makefile llvm/trunk/lib/Target/X86/Makefile llvm/trunk/lib/Transforms/Hello/Makefile llvm/trunk/lib/Transforms/IPO/Makefile llvm/trunk/lib/Transforms/Instrumentation/Makefile llvm/trunk/lib/Transforms/Makefile llvm/trunk/lib/Transforms/Scalar/Makefile llvm/trunk/lib/Transforms/Utils/Makefile llvm/trunk/lib/VMCore/Makefile Modified: llvm/trunk/lib/Analysis/IPA/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/IPA/Makefile?rev=45415&r1=45414&r2=45415&view=diff == --- llvm/trunk/lib/Analysis/IPA/Makefile (original) +++ llvm/trunk/lib/Analysis/IPA/Makefile Sat Dec 29 14:09:26 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## Modified: llvm/trunk/lib/Analysis/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/Makefile?rev=45415&r1=45414&r2=45415&view=diff == --- llvm/trunk/lib/Analysis/Makefile (original) +++ llvm/trunk/lib/Analysis/Makefile Sat Dec 29 14:09:26 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## Modified: llvm/trunk/lib/Archive/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Archive/Makefile?rev=45415&r1=45414&r2=45415&view=diff == --- llvm/trunk/lib/Archive/Makefile (original) +++ llvm/trunk/lib/Archive/Makefile Sat Dec 29 14:09:26 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by Reid Spencer and is distributed under the -# University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## Modified: llvm/trunk/lib/AsmParser/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/Makefile?rev=45415&r1=45414&r2=45415&view=diff == --- llvm/trunk/lib/AsmParser/Makefile (original) +++ llvm/trunk/lib/AsmParser/Makefile Sat Dec 29 14:09:26 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## Modified: llvm/trunk/lib/Bitcode/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Makefile?rev=45415&r1=45414&r2=45415&view=diff ===
[llvm-commits] [llvm] r45416 - in /llvm/trunk: ./ bindings/ bindings/ocaml/ bindings/ocaml/analysis/ bindings/ocaml/bitreader/ bindings/ocaml/bitwriter/ bindings/ocaml/executionengine/ bindings/ocaml/
Author: lattner Date: Sat Dec 29 14:11:13 2007 New Revision: 45416 URL: http://llvm.org/viewvc/llvm-project?rev=45416&view=rev Log: remove attributions from the rest of the llvm makefiles. Modified: llvm/trunk/Makefile llvm/trunk/Makefile.common llvm/trunk/Makefile.config.in llvm/trunk/Makefile.rules llvm/trunk/bindings/Makefile llvm/trunk/bindings/ocaml/Makefile llvm/trunk/bindings/ocaml/Makefile.ocaml llvm/trunk/bindings/ocaml/analysis/Makefile llvm/trunk/bindings/ocaml/bitreader/Makefile llvm/trunk/bindings/ocaml/bitwriter/Makefile llvm/trunk/bindings/ocaml/executionengine/Makefile llvm/trunk/bindings/ocaml/llvm/Makefile llvm/trunk/docs/CommandGuide/Makefile llvm/trunk/docs/Makefile llvm/trunk/examples/BrainF/Makefile llvm/trunk/examples/Fibonacci/Makefile llvm/trunk/examples/HowToUseJIT/Makefile llvm/trunk/examples/Makefile llvm/trunk/examples/ModuleMaker/Makefile llvm/trunk/examples/ParallelJIT/Makefile llvm/trunk/projects/Makefile llvm/trunk/runtime/GC/Makefile llvm/trunk/runtime/GC/SemiSpace/Makefile llvm/trunk/runtime/Makefile llvm/trunk/runtime/libprofile/Makefile llvm/trunk/test/Makefile Modified: llvm/trunk/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile?rev=45416&r1=45415&r2=45416&view=diff == --- llvm/trunk/Makefile (original) +++ llvm/trunk/Makefile Sat Dec 29 14:11:13 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# Modified: llvm/trunk/Makefile.common URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.common?rev=45416&r1=45415&r2=45416&view=diff == --- llvm/trunk/Makefile.common (original) +++ llvm/trunk/Makefile.common Sat Dec 29 14:11:13 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# # Modified: llvm/trunk/Makefile.config.in URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.config.in?rev=45416&r1=45415&r2=45416&view=diff == --- llvm/trunk/Makefile.config.in (original) +++ llvm/trunk/Makefile.config.in Sat Dec 29 14:11:13 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# # Modified: llvm/trunk/Makefile.rules URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=45416&r1=45415&r2=45416&view=diff == --- llvm/trunk/Makefile.rules (original) +++ llvm/trunk/Makefile.rules Sat Dec 29 14:11:13 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# # Modified: llvm/trunk/bindings/Makefile URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/Makefile?rev=45416&r1=45415&r2=45416&view=diff == --- llvm/trunk/bindings/Makefile (original) +++ llvm/trunk/bindings/Makefile Sat Dec 29 14:11:13 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by Gordon Henriksen and is distributed under the -# University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--
[llvm-commits] [test-suite] r45417 - in /test-suite/trunk: Makefile Makefile.FORTRAN Makefile.common Makefile.f2c Makefile.nagfortran Makefile.rules
Author: lattner Date: Sat Dec 29 14:15:18 2007 New Revision: 45417 URL: http://llvm.org/viewvc/llvm-project?rev=45417&view=rev Log: remove attributions from makefiles. Modified: test-suite/trunk/Makefile test-suite/trunk/Makefile.FORTRAN test-suite/trunk/Makefile.common test-suite/trunk/Makefile.f2c test-suite/trunk/Makefile.nagfortran test-suite/trunk/Makefile.rules Modified: test-suite/trunk/Makefile URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile?rev=45417&r1=45416&r2=45417&view=diff == --- test-suite/trunk/Makefile (original) +++ test-suite/trunk/Makefile Sat Dec 29 14:15:18 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # ##===--===## # Modified: test-suite/trunk/Makefile.FORTRAN URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.FORTRAN?rev=45417&r1=45416&r2=45417&view=diff == --- test-suite/trunk/Makefile.FORTRAN (original) +++ test-suite/trunk/Makefile.FORTRAN Sat Dec 29 14:15:18 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by Chris Lattner and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# # Modified: test-suite/trunk/Makefile.common URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.common?rev=45417&r1=45416&r2=45417&view=diff == --- test-suite/trunk/Makefile.common (original) +++ test-suite/trunk/Makefile.common Sat Dec 29 14:15:18 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# Modified: test-suite/trunk/Makefile.f2c URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.f2c?rev=45417&r1=45416&r2=45417&view=diff == --- test-suite/trunk/Makefile.f2c (original) +++ test-suite/trunk/Makefile.f2c Sat Dec 29 14:15:18 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# # Modified: test-suite/trunk/Makefile.nagfortran URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.nagfortran?rev=45417&r1=45416&r2=45417&view=diff == --- test-suite/trunk/Makefile.nagfortran (original) +++ test-suite/trunk/Makefile.nagfortran Sat Dec 29 14:15:18 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by Chris Lattner and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #======# # Modified: test-suite/trunk/Makefile.rules URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/Makefile.rules?rev=45417&r1=45416&r2=45417&view=diff == --- test-suite/trunk/Makefile.rules (original) +++ test-suite/trunk/Makefile.rules Sat Dec 29 14:15:18 2007 @@ -2,8 +2,8 @@ # # The LLVM Compiler Infrastructure # -# This file was developed by the LLVM research group and is distributed under -# the University of Illinois Open Source License. See LICENSE.TXT for details. +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. # #=
[llvm-commits] [llvm] r45419 - in /llvm/trunk/utils: ./ PerfectShuffle/ TableGen/ fpcmp/
Author: lattner Date: Sat Dec 29 14:37:13 2007 New Revision: 45419 URL: http://llvm.org/viewvc/llvm-project?rev=45419&view=rev Log: remove attributions from utils. Modified: llvm/trunk/utils/PerfectShuffle/PerfectShuffle.cpp llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp llvm/trunk/utils/TableGen/AsmWriterEmitter.h llvm/trunk/utils/TableGen/CallingConvEmitter.cpp llvm/trunk/utils/TableGen/CallingConvEmitter.h llvm/trunk/utils/TableGen/CodeEmitterGen.cpp llvm/trunk/utils/TableGen/CodeEmitterGen.h llvm/trunk/utils/TableGen/CodeGenInstruction.h llvm/trunk/utils/TableGen/CodeGenIntrinsics.h llvm/trunk/utils/TableGen/CodeGenRegisters.h llvm/trunk/utils/TableGen/CodeGenTarget.cpp llvm/trunk/utils/TableGen/CodeGenTarget.h llvm/trunk/utils/TableGen/DAGISelEmitter.cpp llvm/trunk/utils/TableGen/DAGISelEmitter.h llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp llvm/trunk/utils/TableGen/InstrInfoEmitter.h llvm/trunk/utils/TableGen/IntrinsicEmitter.cpp llvm/trunk/utils/TableGen/IntrinsicEmitter.h llvm/trunk/utils/TableGen/Record.cpp llvm/trunk/utils/TableGen/Record.h llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp llvm/trunk/utils/TableGen/RegisterInfoEmitter.h llvm/trunk/utils/TableGen/SubtargetEmitter.cpp llvm/trunk/utils/TableGen/SubtargetEmitter.h llvm/trunk/utils/TableGen/TGLexer.cpp llvm/trunk/utils/TableGen/TGLexer.h llvm/trunk/utils/TableGen/TGParser.cpp llvm/trunk/utils/TableGen/TGParser.h llvm/trunk/utils/TableGen/TableGen.cpp llvm/trunk/utils/TableGen/TableGenBackend.cpp llvm/trunk/utils/TableGen/TableGenBackend.h llvm/trunk/utils/countloc.sh llvm/trunk/utils/fpcmp/fpcmp.cpp llvm/trunk/utils/getsrcs.sh llvm/trunk/utils/llvmdo llvm/trunk/utils/llvmgrep Modified: llvm/trunk/utils/PerfectShuffle/PerfectShuffle.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/PerfectShuffle/PerfectShuffle.cpp?rev=45419&r1=45418&r2=45419&view=diff == --- llvm/trunk/utils/PerfectShuffle/PerfectShuffle.cpp (original) +++ llvm/trunk/utils/PerfectShuffle/PerfectShuffle.cpp Sat Dec 29 14:37:13 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Chris Lattner and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp?rev=45419&r1=45418&r2=45419&view=diff == --- llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp (original) +++ llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp Sat Dec 29 14:37:13 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/utils/TableGen/AsmWriterEmitter.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmWriterEmitter.h?rev=45419&r1=45418&r2=45419&view=diff == --- llvm/trunk/utils/TableGen/AsmWriterEmitter.h (original) +++ llvm/trunk/utils/TableGen/AsmWriterEmitter.h Sat Dec 29 14:37:13 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/utils/TableGen/CallingConvEmitter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CallingConvEmitter.cpp?rev=45419&r1=45418&r2=45419&view=diff == --- llvm/trunk/utils/TableGen/CallingConvEmitter.cpp (original) +++ llvm/trunk/utils/TableGen/CallingConvEmitter.cpp Sat Dec 29 14:37:13 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Chris Lattner and is distributed under -// the University of Illinois Open Source License. See LIC
[llvm-commits] [llvm] r45420 - in /llvm/trunk/examples: BrainF/BrainF.cpp BrainF/BrainF.h BrainF/BrainFDriver.cpp Fibonacci/fibonacci.cpp HowToUseJIT/HowToUseJIT.cpp ModuleMaker/ModuleMaker.cpp Parall
Author: lattner Date: Sat Dec 29 14:37:57 2007 New Revision: 45420 URL: http://llvm.org/viewvc/llvm-project?rev=45420&view=rev Log: remove attributions from examples. Modified: llvm/trunk/examples/BrainF/BrainF.cpp llvm/trunk/examples/BrainF/BrainF.h llvm/trunk/examples/BrainF/BrainFDriver.cpp llvm/trunk/examples/Fibonacci/fibonacci.cpp llvm/trunk/examples/HowToUseJIT/HowToUseJIT.cpp llvm/trunk/examples/ModuleMaker/ModuleMaker.cpp llvm/trunk/examples/ParallelJIT/ParallelJIT.cpp Modified: llvm/trunk/examples/BrainF/BrainF.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/BrainF/BrainF.cpp?rev=45420&r1=45419&r2=45420&view=diff == --- llvm/trunk/examples/BrainF/BrainF.cpp (original) +++ llvm/trunk/examples/BrainF/BrainF.cpp Sat Dec 29 14:37:57 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Sterling Stein and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //======// // Modified: llvm/trunk/examples/BrainF/BrainF.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/BrainF/BrainF.h?rev=45420&r1=45419&r2=45420&view=diff == --- llvm/trunk/examples/BrainF/BrainF.h (original) +++ llvm/trunk/examples/BrainF/BrainF.h Sat Dec 29 14:37:57 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Sterling Stein and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //======// // Modified: llvm/trunk/examples/BrainF/BrainFDriver.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/BrainF/BrainFDriver.cpp?rev=45420&r1=45419&r2=45420&view=diff == --- llvm/trunk/examples/BrainF/BrainFDriver.cpp (original) +++ llvm/trunk/examples/BrainF/BrainFDriver.cpp Sat Dec 29 14:37:57 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Sterling Stein and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //======// // Modified: llvm/trunk/examples/Fibonacci/fibonacci.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/Fibonacci/fibonacci.cpp?rev=45420&r1=45419&r2=45420&view=diff == --- llvm/trunk/examples/Fibonacci/fibonacci.cpp (original) +++ llvm/trunk/examples/Fibonacci/fibonacci.cpp Sat Dec 29 14:37:57 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Valery A. Khamenya and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/examples/HowToUseJIT/HowToUseJIT.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/HowToUseJIT/HowToUseJIT.cpp?rev=45420&r1=45419&r2=45420&view=diff == --- llvm/trunk/examples/HowToUseJIT/HowToUseJIT.cpp (original) +++ llvm/trunk/examples/HowToUseJIT/HowToUseJIT.cpp Sat Dec 29 14:37:57 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Valery A. Khamenya and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/examples/ModuleMaker/ModuleMaker.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/examples/ModuleMaker/ModuleMaker.cpp?rev=45420&r1=45419&r2=45420&view=diff == --- llvm/trunk/examples/ModuleMaker/ModuleMaker.cpp (original) +++ llvm/trunk/examples/ModuleMaker/Module
[llvm-commits] [llvm] r45421 - in /llvm/trunk/tools: bugpoint/ llc/ lli/ llvm-ar/ llvm-as/ llvm-bcanalyzer/ llvm-db/ llvm-dis/ llvm-extract/ llvm-ld/ llvm-link/ llvm-nm/ llvm-prof/ llvm-ranlib/ llvm-u
Author: lattner Date: Sat Dec 29 14:44:31 2007 New Revision: 45421 URL: http://llvm.org/viewvc/llvm-project?rev=45421&view=rev Log: remove attributions from tools. Modified: llvm/trunk/tools/bugpoint/BugDriver.cpp llvm/trunk/tools/bugpoint/BugDriver.h llvm/trunk/tools/bugpoint/CrashDebugger.cpp llvm/trunk/tools/bugpoint/ExecutionDriver.cpp llvm/trunk/tools/bugpoint/ExtractFunction.cpp llvm/trunk/tools/bugpoint/FindBugs.cpp llvm/trunk/tools/bugpoint/ListReducer.h llvm/trunk/tools/bugpoint/Miscompilation.cpp llvm/trunk/tools/bugpoint/OptimizerDriver.cpp llvm/trunk/tools/bugpoint/TestPasses.cpp llvm/trunk/tools/bugpoint/ToolRunner.cpp llvm/trunk/tools/bugpoint/ToolRunner.h llvm/trunk/tools/bugpoint/bugpoint.cpp llvm/trunk/tools/llc/llc.cpp llvm/trunk/tools/lli/lli.cpp llvm/trunk/tools/llvm-ar/llvm-ar.cpp llvm/trunk/tools/llvm-as/llvm-as.cpp llvm/trunk/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp llvm/trunk/tools/llvm-db/CLICommand.h llvm/trunk/tools/llvm-db/CLIDebugger.cpp llvm/trunk/tools/llvm-db/CLIDebugger.h llvm/trunk/tools/llvm-db/Commands.cpp llvm/trunk/tools/llvm-db/llvm-db.cpp llvm/trunk/tools/llvm-dis/llvm-dis.cpp llvm/trunk/tools/llvm-extract/llvm-extract.cpp llvm/trunk/tools/llvm-ld/Optimize.cpp llvm/trunk/tools/llvm-ld/llvm-ld.cpp llvm/trunk/tools/llvm-link/llvm-link.cpp llvm/trunk/tools/llvm-nm/llvm-nm.cpp llvm/trunk/tools/llvm-prof/llvm-prof.cpp llvm/trunk/tools/llvm-ranlib/llvm-ranlib.cpp llvm/trunk/tools/llvm-upgrade/UpgradeInternals.h llvm/trunk/tools/llvm-upgrade/llvm-upgrade.cpp llvm/trunk/tools/llvm2cpp/CppWriter.cpp llvm/trunk/tools/llvm2cpp/CppWriter.h llvm/trunk/tools/llvm2cpp/llvm2cpp.cpp llvm/trunk/tools/llvmc/CompilerDriver.cpp llvm/trunk/tools/llvmc/CompilerDriver.h llvm/trunk/tools/llvmc/ConfigLexer.h llvm/trunk/tools/llvmc/Configuration.cpp llvm/trunk/tools/llvmc/Configuration.h llvm/trunk/tools/llvmc/llvmc.cpp llvm/trunk/tools/lto/lto-c.cpp llvm/trunk/tools/lto/lto.cpp llvm/trunk/tools/opt/AnalysisWrappers.cpp llvm/trunk/tools/opt/GraphPrinters.cpp llvm/trunk/tools/opt/PrintSCC.cpp llvm/trunk/tools/opt/opt.cpp Modified: llvm/trunk/tools/bugpoint/BugDriver.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/BugDriver.cpp?rev=45421&r1=45420&r2=45421&view=diff == --- llvm/trunk/tools/bugpoint/BugDriver.cpp (original) +++ llvm/trunk/tools/bugpoint/BugDriver.cpp Sat Dec 29 14:44:31 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/tools/bugpoint/BugDriver.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/BugDriver.h?rev=45421&r1=45420&r2=45421&view=diff == --- llvm/trunk/tools/bugpoint/BugDriver.h (original) +++ llvm/trunk/tools/bugpoint/BugDriver.h Sat Dec 29 14:44:31 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/tools/bugpoint/CrashDebugger.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/CrashDebugger.cpp?rev=45421&r1=45420&r2=45421&view=diff == --- llvm/trunk/tools/bugpoint/CrashDebugger.cpp (original) +++ llvm/trunk/tools/bugpoint/CrashDebugger.cpp Sat Dec 29 14:44:31 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/tools/bugpoint/ExecutionDriver.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/bugpoint/ExecutionDriver.cpp?rev=45421&r1=45420&r2=45421&view=diff ===
[llvm-commits] [llvm] r45422 - in /llvm/trunk: bindings/ocaml/llvm/llvm.ml bindings/ocaml/llvm/llvm.mli bindings/ocaml/llvm/llvm_ocaml.c include/llvm-c/Core.h test/Bindings/Ocaml/vmcore.ml
Author: gordon Date: Sat Dec 29 14:45:00 2007 New Revision: 45422 URL: http://llvm.org/viewvc/llvm-project?rev=45422&view=rev Log: Bindings for instruction calling conventions. Modified: llvm/trunk/bindings/ocaml/llvm/llvm.ml llvm/trunk/bindings/ocaml/llvm/llvm.mli llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c llvm/trunk/include/llvm-c/Core.h llvm/trunk/test/Bindings/Ocaml/vmcore.ml Modified: llvm/trunk/bindings/ocaml/llvm/llvm.ml URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/llvm/llvm.ml?rev=45422&r1=45421&r2=45422&view=diff == --- llvm/trunk/bindings/ocaml/llvm/llvm.ml (original) +++ llvm/trunk/bindings/ocaml/llvm/llvm.ml Sat Dec 29 14:45:00 2007 @@ -328,6 +328,12 @@ external value_is_block : llvalue -> bool = "llvm_value_is_block" external block_of_value : llvalue -> llbasicblock = "LLVMValueAsBasicBlock" +(*--... Operations on call sites ...--*) +external instruction_call_conv: llvalue -> int + = "llvm_instruction_call_conv" +external set_instruction_call_conv: int -> llvalue -> unit + = "llvm_set_instruction_call_conv" + (*--... Operations on phi nodes --*) external add_incoming : (llvalue * llbasicblock) -> llvalue -> unit = "llvm_add_incoming" Modified: llvm/trunk/bindings/ocaml/llvm/llvm.mli URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/llvm/llvm.mli?rev=45422&r1=45421&r2=45422&view=diff == --- llvm/trunk/bindings/ocaml/llvm/llvm.mli (original) +++ llvm/trunk/bindings/ocaml/llvm/llvm.mli Sat Dec 29 14:45:00 2007 @@ -854,6 +854,20 @@ (** [block_of_value v] losslessly casts [v] to an [llbasicblock]. **) external block_of_value : llvalue -> llbasicblock = "LLVMValueAsBasicBlock" +(*--... Operations on call sites ...--*) + +(** [inst_call_conv ci] is the calling convention for the call or invoke +instruction [ci], which may be one of the values from the module [CallConv]. +See the method [CallSite:: **) +external instruction_call_conv: llvalue -> int + = "llvm_instruction_call_conv" + +(** [set_inst_call_conv cc ci] sets the calling convention for the call or +invoke instruction [ci] to the integer [cc], which can be one of the values +from the module [CallConv]. See the method [CallSite::]. **) +external set_instruction_call_conv: int -> llvalue -> unit + = "llvm_set_instruction_call_conv" + (*--... Operations on phi nodes --*) (** [add_incoming (v, bb) pn] adds the value [v] to the phi node [pn] for use Modified: llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c?rev=45422&r1=45421&r2=45422&view=diff == --- llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c (original) +++ llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c Sat Dec 29 14:45:00 2007 @@ -652,6 +652,19 @@ return Val_bool(LLVMValueIsBasicBlock(Val)); } +/*--... Operations on call sites ...--*/ + +/* llvalue -> int */ +CAMLprim value llvm_instruction_call_conv(LLVMValueRef Inst) { + return Val_int(LLVMGetInstructionCallConv(Inst)); +} + +/* int -> llvalue -> unit */ +CAMLprim value llvm_set_instruction_call_conv(value CC, LLVMValueRef Inst) { + LLVMSetInstructionCallConv(Inst, Int_val(CC)); + return Val_unit; +} + /*--... Operations on phi nodes --*/ /* (llvalue * llbasicblock) -> llvalue -> unit */ Modified: llvm/trunk/include/llvm-c/Core.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm-c/Core.h?rev=45422&r1=45421&r2=45422&view=diff == --- llvm/trunk/include/llvm-c/Core.h (original) +++ llvm/trunk/include/llvm-c/Core.h Sat Dec 29 14:45:00 2007 @@ -378,6 +378,10 @@ const char *Name); void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB); +/* Operations on call sites */ +void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC); +unsigned LLVMGetInstructionCallConv(LLVMValueRef Instr); + /* Operations on phi nodes */ void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues, LLVMBasicBlockRef *IncomingBlocks, unsigned Count); Modified: llvm/trunk/test/Bindings/Ocaml/vmcore.ml URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Bindings/Ocaml/vmcore.ml?rev=45422&r1=45421&r2=45422&view=diff ==
[llvm-commits] [llvm] r45423 - in /llvm/trunk/tools: gccas/gccas.sh gccld/gccld.sh llvm-upgrade/UpgradeLexer.l llvm-upgrade/UpgradeParser.y llvmc/ConfigLexer.l
Author: lattner Date: Sat Dec 29 14:46:15 2007 New Revision: 45423 URL: http://llvm.org/viewvc/llvm-project?rev=45423&view=rev Log: remove attributions Modified: llvm/trunk/tools/gccas/gccas.sh llvm/trunk/tools/gccld/gccld.sh llvm/trunk/tools/llvm-upgrade/UpgradeLexer.l llvm/trunk/tools/llvm-upgrade/UpgradeParser.y llvm/trunk/tools/llvmc/ConfigLexer.l Modified: llvm/trunk/tools/gccas/gccas.sh URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/gccas/gccas.sh?rev=45423&r1=45422&r2=45423&view=diff == Binary files - no diff available. Modified: llvm/trunk/tools/gccld/gccld.sh URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/gccld/gccld.sh?rev=45423&r1=45422&r2=45423&view=diff == Binary files - no diff available. Modified: llvm/trunk/tools/llvm-upgrade/UpgradeLexer.l URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-upgrade/UpgradeLexer.l?rev=45423&r1=45422&r2=45423&view=diff == --- llvm/trunk/tools/llvm-upgrade/UpgradeLexer.l (original) +++ llvm/trunk/tools/llvm-upgrade/UpgradeLexer.l Sat Dec 29 14:46:15 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/tools/llvm-upgrade/UpgradeParser.y URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-upgrade/UpgradeParser.y?rev=45423&r1=45422&r2=45423&view=diff == --- llvm/trunk/tools/llvm-upgrade/UpgradeParser.y (original) +++ llvm/trunk/tools/llvm-upgrade/UpgradeParser.y Sat Dec 29 14:46:15 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: llvm/trunk/tools/llvmc/ConfigLexer.l URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvmc/ConfigLexer.l?rev=45423&r1=45422&r2=45423&view=diff == --- llvm/trunk/tools/llvmc/ConfigLexer.l (original) +++ llvm/trunk/tools/llvmc/ConfigLexer.l Sat Dec 29 14:46:15 2007 @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45425 - in /llvm/trunk: autoconf/ bindings/ocaml/analysis/ bindings/ocaml/bitreader/ bindings/ocaml/bitwriter/ bindings/ocaml/executionengine/ bindings/ocaml/llvm/ include/llvm/
Author: lattner Date: Sat Dec 29 16:59:10 2007 New Revision: 45425 URL: http://llvm.org/viewvc/llvm-project?rev=45425&view=rev Log: remove attribution from a variety of miscellaneous files. Modified: llvm/trunk/autoconf/configure.ac llvm/trunk/bindings/ocaml/analysis/analysis_ocaml.c llvm/trunk/bindings/ocaml/analysis/llvm_analysis.ml llvm/trunk/bindings/ocaml/analysis/llvm_analysis.mli llvm/trunk/bindings/ocaml/bitreader/bitreader_ocaml.c llvm/trunk/bindings/ocaml/bitreader/llvm_bitreader.ml llvm/trunk/bindings/ocaml/bitreader/llvm_bitreader.mli llvm/trunk/bindings/ocaml/bitwriter/bitwriter_ocaml.c llvm/trunk/bindings/ocaml/bitwriter/llvm_bitwriter.ml llvm/trunk/bindings/ocaml/bitwriter/llvm_bitwriter.mli llvm/trunk/bindings/ocaml/executionengine/executionengine_ocaml.c llvm/trunk/bindings/ocaml/executionengine/llvm_executionengine.ml llvm/trunk/bindings/ocaml/executionengine/llvm_executionengine.mli llvm/trunk/bindings/ocaml/llvm/llvm.ml llvm/trunk/bindings/ocaml/llvm/llvm.mli llvm/trunk/bindings/ocaml/llvm/llvm_ocaml.c llvm/trunk/include/llvm/ADT/hash_map.in llvm/trunk/include/llvm/ADT/hash_set.in llvm/trunk/include/llvm/ADT/ilist llvm/trunk/include/llvm/ADT/iterator.in llvm/trunk/include/llvm/CodeGen/ValueTypes.td llvm/trunk/include/llvm/Instruction.def llvm/trunk/include/llvm/Intrinsics.td llvm/trunk/include/llvm/IntrinsicsARM.td llvm/trunk/include/llvm/IntrinsicsCellSPU.td llvm/trunk/include/llvm/IntrinsicsPowerPC.td llvm/trunk/include/llvm/IntrinsicsX86.td llvm/trunk/include/llvm/Support/DataTypes.h.in llvm/trunk/runtime/GC/GCInterface.h llvm/trunk/runtime/GC/SemiSpace/semispace.c llvm/trunk/runtime/libprofile/BasicBlockTracing.c llvm/trunk/runtime/libprofile/BlockProfiling.c llvm/trunk/runtime/libprofile/CommonProfiling.c llvm/trunk/runtime/libprofile/EdgeProfiling.c llvm/trunk/runtime/libprofile/FunctionProfiling.c llvm/trunk/runtime/libprofile/Profiling.h llvm/trunk/tools/llvm-config/llvm-config.in.in Modified: llvm/trunk/autoconf/configure.ac URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=45425&r1=45424&r2=45425&view=diff == --- llvm/trunk/autoconf/configure.ac (original) +++ llvm/trunk/autoconf/configure.ac Sat Dec 29 16:59:10 2007 @@ -1,8 +1,8 @@ dnl === configure.ac === dnl The LLVM Compiler Infrastructure dnl -dnl This file was developed by the LLVM research group and is distributed under -dnl the University of Illinois Open Source License. See LICENSE.TXT for details. +dnl This file is distributed under the University of Illinois Open Source +dnl License. See LICENSE.TXT for details. dnl dnl===---=== dnl This is the LLVM configuration script. It is processed by the autoconf Modified: llvm/trunk/bindings/ocaml/analysis/analysis_ocaml.c URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/analysis/analysis_ocaml.c?rev=45425&r1=45424&r2=45425&view=diff == --- llvm/trunk/bindings/ocaml/analysis/analysis_ocaml.c (original) +++ llvm/trunk/bindings/ocaml/analysis/analysis_ocaml.c Sat Dec 29 16:59:10 2007 @@ -2,8 +2,8 @@ |* *| |* The LLVM Compiler Infrastructure *| |* *| -|* This file was developed by Gordon Henriksen and is distributed under the *| -|* University of Illinois Open Source License. See LICENSE.TXT for details. *| +|* This file is distributed under the University of Illinois Open Source *| +|* License. See LICENSE.TXT for details. *| |* *| |*===--===*| |* *| Modified: llvm/trunk/bindings/ocaml/analysis/llvm_analysis.ml URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/bindings/ocaml/analysis/llvm_analysis.ml?rev=45425&r1=45424&r2=45425&view=diff == --- llvm/trunk/bindings/ocaml/analysis/llvm_analysis.ml (original) +++ llvm/trunk/bindings/ocaml/analysis/llvm_analysis.ml Sat Dec 29 16:59:10 2007 @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file was developed by Gordon Henriksen and is distributed under the - * University of Illinois Open Source License. See LICENSE.TXT for details. + * This file is distr
[llvm-commits] [test-suite] r45426 - /test-suite/trunk/SingleSource/UnitTests/Integer/
Author: lattner Date: Sat Dec 29 17:18:34 2007 New Revision: 45426 URL: http://llvm.org/viewvc/llvm-project?rev=45426&view=rev Log: Remove attribution Modified: test-suite/trunk/SingleSource/UnitTests/Integer/SSAtest.c test-suite/trunk/SingleSource/UnitTests/Integer/arith.c test-suite/trunk/SingleSource/UnitTests/Integer/array.c test-suite/trunk/SingleSource/UnitTests/Integer/big_bit_concat.c test-suite/trunk/SingleSource/UnitTests/Integer/big_part_set.c test-suite/trunk/SingleSource/UnitTests/Integer/bigint.c test-suite/trunk/SingleSource/UnitTests/Integer/bit_concat.c test-suite/trunk/SingleSource/UnitTests/Integer/bit_concat_cpp.cpp test-suite/trunk/SingleSource/UnitTests/Integer/bit_select.c test-suite/trunk/SingleSource/UnitTests/Integer/bit_select_cpp.cpp test-suite/trunk/SingleSource/UnitTests/Integer/bit_set.c test-suite/trunk/SingleSource/UnitTests/Integer/bit_set_cpp.cpp test-suite/trunk/SingleSource/UnitTests/Integer/bitbit.c test-suite/trunk/SingleSource/UnitTests/Integer/bitlogic.c test-suite/trunk/SingleSource/UnitTests/Integer/constval.cpp test-suite/trunk/SingleSource/UnitTests/Integer/convert.c test-suite/trunk/SingleSource/UnitTests/Integer/cppfield.cpp test-suite/trunk/SingleSource/UnitTests/Integer/cppfield2.cpp test-suite/trunk/SingleSource/UnitTests/Integer/enum.cpp test-suite/trunk/SingleSource/UnitTests/Integer/exception.cpp test-suite/trunk/SingleSource/UnitTests/Integer/extern-inline-redef.c test-suite/trunk/SingleSource/UnitTests/Integer/field.c test-suite/trunk/SingleSource/UnitTests/Integer/folding.c test-suite/trunk/SingleSource/UnitTests/Integer/general-test.c test-suite/trunk/SingleSource/UnitTests/Integer/global.c test-suite/trunk/SingleSource/UnitTests/Integer/large-array.c test-suite/trunk/SingleSource/UnitTests/Integer/list.c test-suite/trunk/SingleSource/UnitTests/Integer/local-array.c test-suite/trunk/SingleSource/UnitTests/Integer/local-union.c test-suite/trunk/SingleSource/UnitTests/Integer/matrix.c test-suite/trunk/SingleSource/UnitTests/Integer/memory.c test-suite/trunk/SingleSource/UnitTests/Integer/offset.c test-suite/trunk/SingleSource/UnitTests/Integer/override.cpp test-suite/trunk/SingleSource/UnitTests/Integer/part_select.c test-suite/trunk/SingleSource/UnitTests/Integer/part_select_cpp.cpp test-suite/trunk/SingleSource/UnitTests/Integer/pointer.c test-suite/trunk/SingleSource/UnitTests/Integer/sign.c test-suite/trunk/SingleSource/UnitTests/Integer/sign2.c test-suite/trunk/SingleSource/UnitTests/Integer/static.c test-suite/trunk/SingleSource/UnitTests/Integer/struct1.c test-suite/trunk/SingleSource/UnitTests/Integer/struct2.c test-suite/trunk/SingleSource/UnitTests/Integer/structInit.c test-suite/trunk/SingleSource/UnitTests/Integer/switch.c test-suite/trunk/SingleSource/UnitTests/Integer/template.cpp test-suite/trunk/SingleSource/UnitTests/Integer/template2.cpp test-suite/trunk/SingleSource/UnitTests/Integer/template3.cpp test-suite/trunk/SingleSource/UnitTests/Integer/trunc.c test-suite/trunk/SingleSource/UnitTests/Integer/union-init.c test-suite/trunk/SingleSource/UnitTests/Integer/union-struct.c test-suite/trunk/SingleSource/UnitTests/Integer/union2.c Modified: test-suite/trunk/SingleSource/UnitTests/Integer/SSAtest.c URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/Integer/SSAtest.c?rev=45426&r1=45425&r2=45426&view=diff == --- test-suite/trunk/SingleSource/UnitTests/Integer/SSAtest.c (original) +++ test-suite/trunk/SingleSource/UnitTests/Integer/SSAtest.c Sat Dec 29 17:18:34 2007 @@ -1,7 +1,7 @@ //===--- SSAtest.c --- Test Cases for Bit Accurate Types --===// // -// This file was developed by Guoling Han and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===--===// // Modified: test-suite/trunk/SingleSource/UnitTests/Integer/arith.c URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/Integer/arith.c?rev=45426&r1=45425&r2=45426&view=diff == --- test-suite/trunk/SingleSource/UnitTests/Integer/arith.c (original) +++ test-suite/trunk/SingleSource/UnitTests/Integer/arith.c Sat Dec 29 17:18:34 2007 @@ -1,7 +1,7 @@ //===--- arith.c --- Test Cases for Bit Accurate Types ===// // -// This file was developed by Guoling Han and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under t
[llvm-commits] [llvm] r45428 - in /llvm/trunk: include/llvm/CodeGen/MachineInstr.h lib/CodeGen/MachineInstr.cpp
Author: lattner Date: Sat Dec 29 18:12:25 2007 New Revision: 45428 URL: http://llvm.org/viewvc/llvm-project?rev=45428&view=rev Log: simplify some code by factoring operand construction better. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h llvm/trunk/lib/CodeGen/MachineInstr.cpp Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45428&r1=45427&r2=45428&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 18:12:25 2007 @@ -98,10 +98,6 @@ MachineOperand Op; Op.opType = MachineOperand::MO_Immediate; Op.contents.immedVal = Val; -Op.IsDef = false; -Op.IsImp = false; -Op.IsKill = false; -Op.IsDead = false; Op.auxInfo.offset = 0; return Op; } @@ -110,14 +106,24 @@ MachineOperand Op; Op.opType = MachineOperand::MO_FrameIndex; Op.contents.immedVal = Idx; -Op.IsDef = false; -Op.IsImp = false; -Op.IsKill = false; -Op.IsDead = false; Op.auxInfo.offset = 0; return Op; } - + + static MachineOperand CreateReg(unsigned Reg, bool isDef, bool isImp = false, + bool isKill = false, bool isDead = false, + unsigned SubReg = 0) { +MachineOperand Op; +Op.opType = MachineOperand::MO_Register; +Op.IsDef = isDef; +Op.IsImp = isImp; +Op.IsKill = isKill; +Op.IsDead = isDead; +Op.contents.RegNo = Reg; +Op.auxInfo.subReg = SubReg; +return Op; + } + const MachineOperand &operator=(const MachineOperand &MO) { contents = MO.contents; IsDef= MO.IsDef; @@ -341,7 +347,6 @@ void operator=(const MachineInstr&); // DO NOT IMPLEMENT // Intrusive list support - // friend struct ilist_traits; public: @@ -350,7 +355,7 @@ MachineInstr(); /// MachineInstr ctor - This constructor create a MachineInstr and add the - /// implicit operands. It reserves space for number of operands specified by + /// implicit operands. It reserves space for number of operands specified by /// TargetInstrDescriptor. explicit MachineInstr(const TargetInstrDescriptor &TID, bool NoImp = false); @@ -465,24 +470,17 @@ void addRegOperand(unsigned Reg, bool IsDef, bool IsImp = false, bool IsKill = false, bool IsDead = false, unsigned SubReg = 0) { -MachineOperand &Op = AddNewOperand(IsImp); -Op.opType = MachineOperand::MO_Register; -Op.IsDef = IsDef; -Op.IsImp = IsImp; -Op.IsKill = IsKill; -Op.IsDead = IsDead; -Op.contents.RegNo = Reg; -Op.auxInfo.subReg = (unsigned char)SubReg; +// FIXME: Make the AddNewOperand api sane. +AddNewOperand(IsImp) = MachineOperand::CreateReg(Reg, IsDef, IsImp, IsKill, + IsDead, SubReg); } /// addImmOperand - Add a zero extended constant argument to the /// machine instruction. /// void addImmOperand(int64_t Val) { -MachineOperand &Op = AddNewOperand(); -Op.opType = MachineOperand::MO_Immediate; -Op.contents.immedVal = Val; -Op.auxInfo.offset = 0; +// FIXME: Make the AddNewOperand api sane. +AddNewOperand() = MachineOperand::CreateImm(Val); } void addMachineBasicBlockOperand(MachineBasicBlock *MBB) { @@ -495,10 +493,8 @@ /// addFrameIndexOperand - Add an abstract frame index to the instruction /// void addFrameIndexOperand(unsigned Idx) { -MachineOperand &Op = AddNewOperand(); -Op.opType = MachineOperand::MO_FrameIndex; -Op.contents.immedVal = Idx; -Op.auxInfo.offset = 0; +// FIXME: Make the AddNewOperand api sane. +AddNewOperand() = MachineOperand::CreateFrameIndex(Idx); } /// addConstantPoolndexOperand - Add a constant pool object index to the Modified: llvm/trunk/lib/CodeGen/MachineInstr.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstr.cpp?rev=45428&r1=45427&r2=45428&view=diff == --- llvm/trunk/lib/CodeGen/MachineInstr.cpp (original) +++ llvm/trunk/lib/CodeGen/MachineInstr.cpp Sat Dec 29 18:12:25 2007 @@ -31,29 +31,11 @@ void MachineInstr::addImplicitDefUseOperands() { if (TID->ImplicitDefs) -for (const unsigned *ImpDefs = TID->ImplicitDefs; *ImpDefs; ++ImpDefs) { - MachineOperand Op; - Op.opType = MachineOperand::MO_Register; - Op.IsDef = true; - Op.IsImp = true; - Op.IsKill = false; - Op.IsDead = false; - Op.contents.RegNo = *ImpDefs; - Op.auxInfo.subReg = 0; - Operands.push_back(Op); -} +for (const unsigned *ImpDefs = TID->ImplicitDefs; *ImpDefs; ++ImpDefs) + addRegOperand(*ImpDefs, true, true); if (TID->ImplicitUses) -fo
[llvm-commits] [llvm] r45429 - /llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp
Author: lattner Date: Sat Dec 29 18:25:23 2007 New Revision: 45429 URL: http://llvm.org/viewvc/llvm-project?rev=45429&view=rev Log: tblgen shouldn't include headers from llvm codegen. Modified: llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp Modified: llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp?rev=45429&r1=45428&r2=45429&view=diff == --- llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp (original) +++ llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp Sat Dec 29 18:25:23 2007 @@ -14,9 +14,9 @@ #include "InstrInfoEmitter.h" #include "CodeGenTarget.h" -#include "llvm/Target/TargetInstrInfo.h" #include "Record.h" #include +#include using namespace llvm; // runEnums - Print out enum values for all of the instructions. @@ -37,7 +37,7 @@ } if (Namespace.empty()) { -cerr << "No instructions defined!\n"; +std::cerr << "No instructions defined!\n"; exit(1); } @@ -365,7 +365,7 @@ return; } - cerr << "Unhandled initializer: " << *Val << "\n"; + std::cerr << "Unhandled initializer: " << *Val << "\n"; throw "In record '" + R->getName() + "' for TSFlag emission."; } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45430 - /llvm/trunk/include/llvm/CodeGen/MachineInstr.h
Author: lattner Date: Sat Dec 29 18:29:19 2007 New Revision: 45430 URL: http://llvm.org/viewvc/llvm-project?rev=45430&view=rev Log: 1. Make a static MachineOperand::create* method for every operand type. 2. Move these create methods below the accessors. 3. Simplify all the MachineInstr::add* methods to use these. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45430&r1=45429&r2=45430&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 18:29:19 2007 @@ -94,47 +94,6 @@ ~MachineOperand() {} - static MachineOperand CreateImm(int64_t Val) { -MachineOperand Op; -Op.opType = MachineOperand::MO_Immediate; -Op.contents.immedVal = Val; -Op.auxInfo.offset = 0; -return Op; - } - - static MachineOperand CreateFrameIndex(unsigned Idx) { -MachineOperand Op; -Op.opType = MachineOperand::MO_FrameIndex; -Op.contents.immedVal = Idx; -Op.auxInfo.offset = 0; -return Op; - } - - static MachineOperand CreateReg(unsigned Reg, bool isDef, bool isImp = false, - bool isKill = false, bool isDead = false, - unsigned SubReg = 0) { -MachineOperand Op; -Op.opType = MachineOperand::MO_Register; -Op.IsDef = isDef; -Op.IsImp = isImp; -Op.IsKill = isKill; -Op.IsDead = isDead; -Op.contents.RegNo = Reg; -Op.auxInfo.subReg = SubReg; -return Op; - } - - const MachineOperand &operator=(const MachineOperand &MO) { -contents = MO.contents; -IsDef= MO.IsDef; -IsImp= MO.IsImp; -IsKill = MO.IsKill; -IsDead = MO.IsDead; -opType = MO.opType; -auxInfo = MO.auxInfo; -return *this; - } - /// getType - Returns the MachineOperandType for this operand. /// MachineOperandType getType() const { return opType; } @@ -318,6 +277,79 @@ IsKill = isKill; IsDead = isDead; } + + static MachineOperand CreateImm(int64_t Val) { +MachineOperand Op; +Op.opType = MachineOperand::MO_Immediate; +Op.contents.immedVal = Val; +Op.auxInfo.offset = 0; +return Op; + } + static MachineOperand CreateReg(unsigned Reg, bool isDef, bool isImp = false, + bool isKill = false, bool isDead = false, + unsigned SubReg = 0) { +MachineOperand Op; +Op.opType = MachineOperand::MO_Register; +Op.IsDef = isDef; +Op.IsImp = isImp; +Op.IsKill = isKill; +Op.IsDead = isDead; +Op.contents.RegNo = Reg; +Op.auxInfo.subReg = SubReg; +return Op; + } + static MachineOperand CreateBasicBlock(MachineBasicBlock *MBB) { +MachineOperand Op; +Op.opType = MachineOperand::MO_MachineBasicBlock; +Op.contents.MBB = MBB; +Op.auxInfo.offset = 0; +return Op; + } + static MachineOperand CreateFrameIndex(unsigned Idx) { +MachineOperand Op; +Op.opType = MachineOperand::MO_FrameIndex; +Op.contents.immedVal = Idx; +Op.auxInfo.offset = 0; +return Op; + } + static MachineOperand CreateConstantPoolIndex(unsigned Idx, int Offset) { +MachineOperand Op; +Op.opType = MachineOperand::MO_ConstantPoolIndex; +Op.contents.immedVal = Idx; +Op.auxInfo.offset = Offset; +return Op; + } + static MachineOperand CreateJumpTableIndex(unsigned Idx) { +MachineOperand Op; +Op.opType = MachineOperand::MO_JumpTableIndex; +Op.contents.immedVal = Idx; +Op.auxInfo.offset = 0; +return Op; + } + static MachineOperand CreateGlobalAddress(GlobalValue *GV, int Offset) { +MachineOperand Op; +Op.opType = MachineOperand::MO_GlobalAddress; +Op.contents.GV = GV; +Op.auxInfo.offset = Offset; +return Op; + } + static MachineOperand CreateExternalSymbol(const char *SymName, int Offset) { +MachineOperand Op; +Op.opType = MachineOperand::MO_ExternalSymbol; +Op.contents.SymbolName = SymName; +Op.auxInfo.offset = Offset; +return Op; + } + const MachineOperand &operator=(const MachineOperand &MO) { +contents = MO.contents; +IsDef= MO.IsDef; +IsImp= MO.IsImp; +IsKill = MO.IsKill; +IsDead = MO.IsDead; +opType = MO.opType; +auxInfo = MO.auxInfo; +return *this; + } friend std::ostream& operator<<(std::ostream& os, const MachineOperand& mop) { mop.print(os); @@ -464,73 +496,65 @@ //======// // Accessors to add operands when building up machine instructions. // - + void addOperand(const MachineOperand &Op) { +bool isImpReg = Op.isRegister() && Op.isImplicit(); +assert((isImpReg || !OperandsComplete()) && + "Trying
[llvm-commits] [llvm] r45431 - /llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h
Author: lattner Date: Sat Dec 29 18:35:18 2007 New Revision: 45431 URL: http://llvm.org/viewvc/llvm-project?rev=45431&view=rev Log: switch MIBuilder over to use the simplified operand addition methods. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h?rev=45431&r1=45430&r2=45431&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h Sat Dec 29 18:35:18 2007 @@ -40,46 +40,47 @@ MachineInstrBuilder &addReg(unsigned RegNo, bool isDef = false, bool isImp = false, bool isKill = false, bool isDead = false, unsigned SubReg = 0) const { -MI->addRegOperand(RegNo, isDef, isImp, isKill, isDead, SubReg); +MI->addOperand(MachineOperand::CreateReg(RegNo, isDef, isImp, isKill, + isDead, SubReg)); return *this; } /// addImm - Add a new immediate operand. /// const MachineInstrBuilder &addImm(int64_t Val) const { -MI->addImmOperand(Val); +MI->addOperand(MachineOperand::CreateImm(Val)); return *this; } const MachineInstrBuilder &addMBB(MachineBasicBlock *MBB) const { -MI->addMachineBasicBlockOperand(MBB); +MI->addOperand(MachineOperand::CreateBasicBlock(MBB)); return *this; } const MachineInstrBuilder &addFrameIndex(unsigned Idx) const { -MI->addFrameIndexOperand(Idx); +MI->addOperand(MachineOperand::CreateFrameIndex(Idx)); return *this; } const MachineInstrBuilder &addConstantPoolIndex(unsigned Idx, int Offset = 0) const { -MI->addConstantPoolIndexOperand(Idx, Offset); +MI->addOperand(MachineOperand::CreateConstantPoolIndex(Idx, Offset)); return *this; } const MachineInstrBuilder &addJumpTableIndex(unsigned Idx) const { -MI->addJumpTableIndexOperand(Idx); +MI->addOperand(MachineOperand::CreateJumpTableIndex(Idx)); return *this; } const MachineInstrBuilder &addGlobalAddress(GlobalValue *GV, int Offset = 0) const { -MI->addGlobalAddressOperand(GV, Offset); +MI->addOperand(MachineOperand::CreateGlobalAddress(GV, Offset)); return *this; } const MachineInstrBuilder &addExternalSymbol(const char *FnName) const{ -MI->addExternalSymbolOperand(FnName); +MI->addOperand(MachineOperand::CreateExternalSymbol(FnName, 0)); return *this; } }; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45432 - in /llvm/trunk/lib/CodeGen: LiveVariables.cpp MachineInstr.cpp SelectionDAG/ScheduleDAG.cpp
Author: lattner Date: Sat Dec 29 18:41:17 2007 New Revision: 45432 URL: http://llvm.org/viewvc/llvm-project?rev=45432&view=rev Log: Start using the simplified methods for adding operands. Modified: llvm/trunk/lib/CodeGen/LiveVariables.cpp llvm/trunk/lib/CodeGen/MachineInstr.cpp llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp Modified: llvm/trunk/lib/CodeGen/LiveVariables.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LiveVariables.cpp?rev=45432&r1=45431&r2=45432&view=diff == --- llvm/trunk/lib/CodeGen/LiveVariables.cpp (original) +++ llvm/trunk/lib/CodeGen/LiveVariables.cpp Sat Dec 29 18:41:17 2007 @@ -218,7 +218,8 @@ // If not found, this means an alias of one of the operand is killed. Add a // new implicit operand if required. if (!Found && AddIfNotFound) { -MI->addRegOperand(IncomingReg, false/*IsDef*/,true/*IsImp*/,true/*IsKill*/); +MI->addOperand(MachineOperand::CreateReg(IncomingReg, false/*IsDef*/, + true/*IsImp*/,true/*IsKill*/)); return true; } return Found; @@ -250,8 +251,9 @@ // If not found, this means an alias of one of the operand is dead. Add a // new implicit operand. if (!Found && AddIfNotFound) { -MI->addRegOperand(IncomingReg, true/*IsDef*/,true/*IsImp*/,false/*IsKill*/, - true/*IsDead*/); +MI->addOperand(MachineOperand::CreateReg(IncomingReg, true/*IsDef*/, + true/*IsImp*/,false/*IsKill*/, + true/*IsDead*/)); return true; } return Found; @@ -263,8 +265,9 @@ MachineInstr *Def = PhysRegPartDef[Reg][i]; // First one is just a def. This means the use is reading some undef bits. if (i != 0) - Def->addRegOperand(Reg, false/*IsDef*/,true/*IsImp*/,true/*IsKill*/); -Def->addRegOperand(Reg, true/*IsDef*/,true/*IsImp*/); + Def->addOperand(MachineOperand::CreateReg(Reg, false/*IsDef*/, +true/*IsImp*/,true/*IsKill*/)); + Def->addOperand(MachineOperand::CreateReg(Reg,true/*IsDef*/,true/*IsImp*/)); } PhysRegPartDef[Reg].clear(); @@ -276,7 +279,8 @@ !PhysRegUsed[Reg]) { MachineInstr *Def = PhysRegInfo[Reg]; if (!Def->findRegisterDefOperand(Reg)) - Def->addRegOperand(Reg, true/*IsDef*/,true/*IsImp*/); + Def->addOperand(MachineOperand::CreateReg(Reg, true/*IsDef*/, +true/*IsImp*/)); } // There is a now a proper use, forget about the last partial use. @@ -397,8 +401,10 @@ // being re-defined. Treat it as read/mod/write. // EAX = // AX =EAX, EAX -MI->addRegOperand(SuperReg, false/*IsDef*/,true/*IsImp*/,true/*IsKill*/); -MI->addRegOperand(SuperReg, true/*IsDef*/,true/*IsImp*/); +MI->addOperand(MachineOperand::CreateReg(SuperReg, false/*IsDef*/, + true/*IsImp*/,true/*IsKill*/)); +MI->addOperand(MachineOperand::CreateReg(SuperReg, true/*IsDef*/, + true/*IsImp*/)); PhysRegInfo[SuperReg] = MI; PhysRegUsed[SuperReg] = false; PhysRegPartUse[SuperReg] = NULL; @@ -538,7 +544,7 @@ HandlePhysRegUse(*I, Ret); // Add live-out registers as implicit uses. if (Ret->findRegisterUseOperandIdx(*I) == -1) - Ret->addRegOperand(*I, false, true); + Ret->addOperand(MachineOperand::CreateReg(*I, false, true)); } } Modified: llvm/trunk/lib/CodeGen/MachineInstr.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstr.cpp?rev=45432&r1=45431&r2=45432&view=diff == --- llvm/trunk/lib/CodeGen/MachineInstr.cpp (original) +++ llvm/trunk/lib/CodeGen/MachineInstr.cpp Sat Dec 29 18:41:17 2007 @@ -32,10 +32,10 @@ void MachineInstr::addImplicitDefUseOperands() { if (TID->ImplicitDefs) for (const unsigned *ImpDefs = TID->ImplicitDefs; *ImpDefs; ++ImpDefs) - addRegOperand(*ImpDefs, true, true); + addOperand(MachineOperand::CreateReg(*ImpDefs, true, true)); if (TID->ImplicitUses) for (const unsigned *ImpUses = TID->ImplicitUses; *ImpUses; ++ImpUses) - addRegOperand(*ImpUses, false, true); + addOperand(MachineOperand::CreateReg(*ImpUses, false, true)); } /// MachineInstr ctor - This constructor create a MachineInstr and add the @@ -249,13 +249,8 @@ if (TID->Flags & M_PREDICABLE) { for (unsigned i = 0, e = MI->getNumOperands(); i != e; ++i) { if ((TID->OpInfo[i].Flags & M_PREDICATE_OPERAND)) { -const MachineOperand &MO = MI->getOperand(i); // Predicated operands must be last operands. -if (MO.isRegister()) - addRegOperand(
[llvm-commits] [llvm] r45433 - in /llvm/trunk: include/llvm/CodeGen/MachineInstr.h include/llvm/CodeGen/MachineInstrBuilder.h lib/Target/X86/X86RegisterInfo.cpp
Author: lattner Date: Sat Dec 29 18:45:46 2007 New Revision: 45433 URL: http://llvm.org/viewvc/llvm-project?rev=45433&view=rev Log: Shrinkify the machine operand creation method names. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45433&r1=45432&r2=45433&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 18:45:46 2007 @@ -298,42 +298,42 @@ Op.auxInfo.subReg = SubReg; return Op; } - static MachineOperand CreateBasicBlock(MachineBasicBlock *MBB) { + static MachineOperand CreateMBB(MachineBasicBlock *MBB) { MachineOperand Op; Op.opType = MachineOperand::MO_MachineBasicBlock; Op.contents.MBB = MBB; Op.auxInfo.offset = 0; return Op; } - static MachineOperand CreateFrameIndex(unsigned Idx) { + static MachineOperand CreateFI(unsigned Idx) { MachineOperand Op; Op.opType = MachineOperand::MO_FrameIndex; Op.contents.immedVal = Idx; Op.auxInfo.offset = 0; return Op; } - static MachineOperand CreateConstantPoolIndex(unsigned Idx, int Offset) { + static MachineOperand CreateCPI(unsigned Idx, int Offset) { MachineOperand Op; Op.opType = MachineOperand::MO_ConstantPoolIndex; Op.contents.immedVal = Idx; Op.auxInfo.offset = Offset; return Op; } - static MachineOperand CreateJumpTableIndex(unsigned Idx) { + static MachineOperand CreateJTI(unsigned Idx) { MachineOperand Op; Op.opType = MachineOperand::MO_JumpTableIndex; Op.contents.immedVal = Idx; Op.auxInfo.offset = 0; return Op; } - static MachineOperand CreateGlobalAddress(GlobalValue *GV, int Offset) { + static MachineOperand CreateGA(GlobalValue *GV, int Offset) { MachineOperand Op; Op.opType = MachineOperand::MO_GlobalAddress; Op.contents.GV = GV; Op.auxInfo.offset = Offset; return Op; } - static MachineOperand CreateExternalSymbol(const char *SymName, int Offset) { + static MachineOperand CreateES(const char *SymName, int Offset) { MachineOperand Op; Op.opType = MachineOperand::MO_ExternalSymbol; Op.contents.SymbolName = SymName; @@ -524,39 +524,39 @@ } void addMachineBasicBlockOperand(MachineBasicBlock *MBB) { -addOperand(MachineOperand::CreateBasicBlock(MBB)); +addOperand(MachineOperand::CreateMBB(MBB)); } /// addFrameIndexOperand - Add an abstract frame index to the instruction /// void addFrameIndexOperand(unsigned Idx) { -addOperand(MachineOperand::CreateFrameIndex(Idx)); +addOperand(MachineOperand::CreateFI(Idx)); } /// addConstantPoolndexOperand - Add a constant pool object index to the /// instruction. /// void addConstantPoolIndexOperand(unsigned Idx, int Offset) { -addOperand(MachineOperand::CreateConstantPoolIndex(Idx, Offset)); +addOperand(MachineOperand::CreateCPI(Idx, Offset)); } /// addJumpTableIndexOperand - Add a jump table object index to the /// instruction. /// void addJumpTableIndexOperand(unsigned Idx) { -addOperand(MachineOperand::CreateJumpTableIndex(Idx)); +addOperand(MachineOperand::CreateJTI(Idx)); } void addGlobalAddressOperand(GlobalValue *GV, int Offset) { -addOperand(MachineOperand::CreateGlobalAddress(GV, Offset)); +addOperand(MachineOperand::CreateGA(GV, Offset)); } /// addExternalSymbolOperand - Add an external symbol operand to this instr /// void addExternalSymbolOperand(const char *SymName, int Offset = 0) { -addOperand(MachineOperand::CreateExternalSymbol(SymName, Offset)); +addOperand(MachineOperand::CreateES(SymName, Offset)); } - + //======// // Accessors used to modify instructions in place. // Modified: llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h?rev=45433&r1=45432&r2=45433&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstrBuilder.h Sat Dec 29 18:45:46 2007 @@ -53,34 +53,34 @@ } const MachineInstrBuilder &addMBB(MachineBasicBlock *MBB) const { -MI->addOperand(MachineOperand::CreateBasicBlock(MBB)); +MI->addOperand(MachineOperand::CreateMBB(MBB)); return *this; } const MachineInstrBuilder &addFrameIndex(unsigned Idx) const { -MI->addOperand(MachineOperand::CreateFrameIndex(Idx)); +MI->addOperand(MachineOperand::Creat
[llvm-commits] [llvm] r45434 - /llvm/trunk/include/llvm/CodeGen/MachineInstr.h
Author: lattner Date: Sat Dec 29 18:50:55 2007 New Revision: 45434 URL: http://llvm.org/viewvc/llvm-project?rev=45434&view=rev Log: make offset operand optional. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45434&r1=45433&r2=45434&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 18:50:55 2007 @@ -333,7 +333,7 @@ Op.auxInfo.offset = Offset; return Op; } - static MachineOperand CreateES(const char *SymName, int Offset) { + static MachineOperand CreateES(const char *SymName, int Offset = 0) { MachineOperand Op; Op.opType = MachineOperand::MO_ExternalSymbol; Op.contents.SymbolName = SymName; @@ -506,7 +506,7 @@ // Insert a real operand before any implicit ones. Operands.insert(Operands.begin()+Operands.size()-NumImplicitOps, Op); } - + /// addRegOperand - Add a register operand. /// void addRegOperand(unsigned Reg, bool IsDef, bool IsImp = false, ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45435 - /llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp
Author: lattner Date: Sat Dec 29 18:51:11 2007 New Revision: 45435 URL: http://llvm.org/viewvc/llvm-project?rev=45435&view=rev Log: use simplified operand addition methods. Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp Modified: llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp?rev=45435&r1=45434&r2=45435&view=diff == --- llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAG.cpp Sat Dec 29 18:51:11 2007 @@ -454,26 +454,19 @@ abort(); } } - } else if (ConstantSDNode *C = - dyn_cast(Op)) { + } else if (ConstantSDNode *C = dyn_cast(Op)) { MI->addOperand(MachineOperand::CreateImm(C->getValue())); - } else if (RegisterSDNode *R = - dyn_cast(Op)) { + } else if (RegisterSDNode *R = dyn_cast(Op)) { MI->addOperand(MachineOperand::CreateReg(R->getReg(), false)); - } else if (GlobalAddressSDNode *TGA = - dyn_cast(Op)) { -MI->addGlobalAddressOperand(TGA->getGlobal(), TGA->getOffset()); - } else if (BasicBlockSDNode *BB = - dyn_cast(Op)) { -MI->addMachineBasicBlockOperand(BB->getBasicBlock()); - } else if (FrameIndexSDNode *FI = - dyn_cast(Op)) { -MI->addFrameIndexOperand(FI->getIndex()); - } else if (JumpTableSDNode *JT = - dyn_cast(Op)) { -MI->addJumpTableIndexOperand(JT->getIndex()); - } else if (ConstantPoolSDNode *CP = - dyn_cast(Op)) { + } else if (GlobalAddressSDNode *TGA = dyn_cast(Op)) { + MI->addOperand(MachineOperand::CreateGA(TGA->getGlobal(),TGA->getOffset())); + } else if (BasicBlockSDNode *BB = dyn_cast(Op)) { +MI->addOperand(MachineOperand::CreateMBB(BB->getBasicBlock())); + } else if (FrameIndexSDNode *FI = dyn_cast(Op)) { +MI->addOperand(MachineOperand::CreateFI(FI->getIndex())); + } else if (JumpTableSDNode *JT = dyn_cast(Op)) { +MI->addOperand(MachineOperand::CreateJTI(JT->getIndex())); + } else if (ConstantPoolSDNode *CP = dyn_cast(Op)) { int Offset = CP->getOffset(); unsigned Align = CP->getAlignment(); const Type *Type = CP->getType(); @@ -492,10 +485,9 @@ Idx = ConstPool->getConstantPoolIndex(CP->getMachineCPVal(), Align); else Idx = ConstPool->getConstantPoolIndex(CP->getConstVal(), Align); -MI->addConstantPoolIndexOperand(Idx, Offset); - } else if (ExternalSymbolSDNode *ES = - dyn_cast(Op)) { -MI->addExternalSymbolOperand(ES->getSymbol()); +MI->addOperand(MachineOperand::CreateCPI(Idx, Offset)); + } else if (ExternalSymbolSDNode *ES = dyn_cast(Op)) { +MI->addOperand(MachineOperand::CreateES(ES->getSymbol())); } else { assert(Op.getValueType() != MVT::Other && Op.getValueType() != MVT::Flag && @@ -590,7 +582,7 @@ // Add def, source, and subreg index MI->addOperand(MachineOperand::CreateReg(VRBase, true)); AddOperand(MI, Node->getOperand(0), 0, 0, VRBaseMap); -MI->addImmOperand(SubIdx); +MI->addOperand(MachineOperand::CreateImm(SubIdx)); } else if (Opc == TargetInstrInfo::INSERT_SUBREG) { assert((Node->getNumOperands() == 2 || Node->getNumOperands() == 3) && @@ -647,7 +639,7 @@ AddOperand(MI, Node->getOperand(0), 0, 0, VRBaseMap); if (!isUndefInput) AddOperand(MI, Node->getOperand(1), 0, 0, VRBaseMap); -MI->addImmOperand(SubIdx); +MI->addOperand(MachineOperand::CreateImm(SubIdx)); } else assert(0 && "Node is not a subreg insert or extract"); @@ -774,14 +766,14 @@ // Add the asm string as an external symbol operand. const char *AsmStr = cast(Node->getOperand(1))->getSymbol(); - MI->addExternalSymbolOperand(AsmStr); + MI->addOperand(MachineOperand::CreateES(AsmStr)); // Add all of the operand registers to the instruction. for (unsigned i = 2; i != NumOps;) { unsigned Flags = cast(Node->getOperand(i))->getValue(); unsigned NumVals = Flags >> 3; -MI->addImmOperand(Flags); +MI->addOperand(MachineOperand::CreateImm(Flags)); ++i; // Skip the ID value. switch (Flags & 7) { @@ -805,11 +797,11 @@ MI->addOperand(MachineOperand::CreateImm(CS->getValue())); } else if (GlobalAddressSDNode *GA = dyn_cast(Node->getOperand(i))) { - MI->addGlobalAddressOperand(GA->getGlobal(), GA->getOffset()); + MI->addOperand(MachineOperand::CreateGA(GA->getGlobal(), + GA->getOffset())); } else { - BasicBlockSDNode *BB = - cast(Node->getOperand(i)); - MI->addMachineBasicBlockOperand(BB->getBasicBlock()); + BasicBlockSDNode *BB =cast(Node->
[llvm-commits] [llvm] r45436 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Author: lattner Date: Sat Dec 29 18:57:42 2007 New Revision: 45436 URL: http://llvm.org/viewvc/llvm-project?rev=45436&view=rev Log: use simplified operand addition methods. Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp?rev=45436&r1=45435&r2=45436&view=diff == --- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp (original) +++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sat Dec 29 18:57:42 2007 @@ -1164,7 +1164,6 @@ // Update machine-CFG edges. CurMBB->addSuccessor(Succ0MBB); - return; } @@ -4763,8 +4762,9 @@ MachineInstr *PHI = PHINodesToUpdate[i].first; assert(PHI->getOpcode() == TargetInstrInfo::PHI && "This is not a machine PHI node that we are updating!"); - PHI->addRegOperand(PHINodesToUpdate[i].second, false); - PHI->addMachineBasicBlockOperand(BB); + PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[i].second, +false)); + PHI->addOperand(MachineOperand::CreateMBB(BB)); } return; } @@ -4815,18 +4815,22 @@ // This is "default" BB. We have two jumps to it. From "header" BB and // from last "case" BB. if (PHIBB == BitTestCases[i].Default) { -PHI->addRegOperand(PHINodesToUpdate[pi].second, false); -PHI->addMachineBasicBlockOperand(BitTestCases[i].Parent); -PHI->addRegOperand(PHINodesToUpdate[pi].second, false); -PHI->addMachineBasicBlockOperand(BitTestCases[i].Cases.back().ThisBB); +PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[pi].second, + false)); +PHI->addOperand(MachineOperand::CreateMBB(BitTestCases[i].Parent)); +PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[pi].second, + false)); +PHI->addOperand(MachineOperand::CreateMBB(BitTestCases[i].Cases. + back().ThisBB)); } // One of "cases" BB. for (unsigned j = 0, ej = BitTestCases[i].Cases.size(); j != ej; ++j) { MachineBasicBlock* cBB = BitTestCases[i].Cases[j].ThisBB; if (cBB->succ_end() != std::find(cBB->succ_begin(),cBB->succ_end(), PHIBB)) { - PHI->addRegOperand(PHINodesToUpdate[pi].second, false); - PHI->addMachineBasicBlockOperand(cBB); + PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[pi].second, +false)); + PHI->addOperand(MachineOperand::CreateMBB(cBB)); } } } @@ -4869,13 +4873,15 @@ "This is not a machine PHI node that we are updating!"); // "default" BB. We can go there only from header BB. if (PHIBB == JTCases[i].second.Default) { -PHI->addRegOperand(PHINodesToUpdate[pi].second, false); -PHI->addMachineBasicBlockOperand(JTCases[i].first.HeaderBB); +PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[pi].second, + false)); +PHI->addOperand(MachineOperand::CreateMBB(JTCases[i].first.HeaderBB)); } // JT BB. Just iterate over successors here if (BB->succ_end() != std::find(BB->succ_begin(),BB->succ_end(), PHIBB)) { -PHI->addRegOperand(PHINodesToUpdate[pi].second, false); -PHI->addMachineBasicBlockOperand(BB); +PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[pi].second, + false)); +PHI->addOperand(MachineOperand::CreateMBB(BB)); } } } @@ -4887,8 +4893,9 @@ assert(PHI->getOpcode() == TargetInstrInfo::PHI && "This is not a machine PHI node that we are updating!"); if (BB->isSuccessor(PHI->getParent())) { - PHI->addRegOperand(PHINodesToUpdate[i].second, false); - PHI->addMachineBasicBlockOperand(BB); + PHI->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[i].second, +false)); + PHI->addOperand(MachineOperand::CreateMBB(BB)); } } @@ -4919,8 +4926,9 @@ for (unsigned pn = 0; ; ++pn) { assert(pn != PHINodesToUpdate.size() && "Didn't find PHI entry!"); if (PHINodesToUpdate[pn].first == Phi) { -Phi->addRegOperand(PHINodesToUpdate[pn].second, false); -Phi->addMachineBasicBlockOperand(SwitchCases[i].ThisBB); +Phi->addOperand(MachineOperand::CreateReg(PHINodesToUpdate[pn]. + second, false)); +Phi->addOperand(MachineOperand::CreateMBB(S
[llvm-commits] [llvm] r45437 - in /llvm/trunk/lib/Target/ARM: ARMInstrInfo.cpp ARMRegisterInfo.cpp
Author: lattner Date: Sat Dec 29 19:01:54 2007 New Revision: 45437 URL: http://llvm.org/viewvc/llvm-project?rev=45437&view=rev Log: use simplified operand addition methods. Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.cpp llvm/trunk/lib/Target/ARM/ARMRegisterInfo.cpp Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.cpp?rev=45437&r1=45436&r2=45437&view=diff == --- llvm/trunk/lib/Target/ARM/ARMInstrInfo.cpp (original) +++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.cpp Sat Dec 29 19:01:54 2007 @@ -469,8 +469,8 @@ unsigned Opc = MI->getOpcode(); if (Opc == ARM::B || Opc == ARM::tB) { MI->setInstrDescriptor(get(Opc == ARM::B ? ARM::Bcc : ARM::tBcc)); -MI->addImmOperand(Pred[0].getImmedValue()); -MI->addRegOperand(Pred[1].getReg(), false); +MI->addOperand(MachineOperand::CreateImm(Pred[0].getImm())); +MI->addOperand(MachineOperand::CreateReg(Pred[1].getReg(), false)); return true; } Modified: llvm/trunk/lib/Target/ARM/ARMRegisterInfo.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMRegisterInfo.cpp?rev=45437&r1=45436&r2=45437&view=diff == --- llvm/trunk/lib/Target/ARM/ARMRegisterInfo.cpp (original) +++ llvm/trunk/lib/Target/ARM/ARMRegisterInfo.cpp Sat Dec 29 19:01:54 2007 @@ -126,7 +126,7 @@ PopMI->setInstrDescriptor(TII.get(ARM::tPOP_RET)); MBB.erase(MI); } -PopMI->addRegOperand(Reg, true); +PopMI->addOperand(MachineOperand::CreateReg(Reg, true)); } return true; } @@ -1100,9 +1100,10 @@ MI.setInstrDescriptor(TII.get(ARM::tLDR)); MI.getOperand(i).ChangeToRegister(TmpReg, false, false, true); if (UseRR) -MI.addRegOperand(FrameReg, false); // Use [reg, reg] addrmode. - else -MI.addRegOperand(0, false); // tLDR has an extra register operand. +// Use [reg, reg] addrmode. +MI.addOperand(MachineOperand::CreateReg(FrameReg, false)); + else // tLDR has an extra register operand. +MI.addOperand(MachineOperand::CreateReg(0, false)); } else if (TII.isStore(Opcode)) { // FIXME! This is horrific!!! We need register scavenging. // Our temporary workaround has marked r3 unavailable. Of course, r3 is @@ -1134,10 +1135,10 @@ emitThumbRegPlusImmediate(MBB, II, TmpReg, FrameReg, Offset, TII); MI.setInstrDescriptor(TII.get(ARM::tSTR)); MI.getOperand(i).ChangeToRegister(TmpReg, false, false, true); - if (UseRR) -MI.addRegOperand(FrameReg, false); // Use [reg, reg] addrmode. - else -MI.addRegOperand(0, false); // tSTR has an extra register operand. + if (UseRR) // Use [reg, reg] addrmode. +MI.addOperand(MachineOperand::CreateReg(FrameReg, false)); + else // tSTR has an extra register operand. +MI.addOperand(MachineOperand::CreateReg(0, false)); MachineBasicBlock::iterator NII = next(II); if (ValReg == ARM::R3) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45438 - /llvm/trunk/include/llvm/CodeGen/MachineInstr.h
Author: lattner Date: Sat Dec 29 19:04:05 2007 New Revision: 45438 URL: http://llvm.org/viewvc/llvm-project?rev=45438&view=rev Log: remove a bunch of now-dead methods. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45438&r1=45437&r2=45438&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 19:04:05 2007 @@ -82,6 +82,7 @@ unsigned char subReg; } auxInfo; + MachineOperand() {} void print(std::ostream &os) const; @@ -506,56 +507,6 @@ // Insert a real operand before any implicit ones. Operands.insert(Operands.begin()+Operands.size()-NumImplicitOps, Op); } - - /// addRegOperand - Add a register operand. - /// - void addRegOperand(unsigned Reg, bool IsDef, bool IsImp = false, - bool IsKill = false, bool IsDead = false, - unsigned SubReg = 0) { -addOperand(MachineOperand::CreateReg(Reg, IsDef, IsImp, IsKill, - IsDead, SubReg)); - } - - /// addImmOperand - Add a zero extended constant argument to the - /// machine instruction. - /// - void addImmOperand(int64_t Val) { -addOperand(MachineOperand::CreateImm(Val)); - } - - void addMachineBasicBlockOperand(MachineBasicBlock *MBB) { -addOperand(MachineOperand::CreateMBB(MBB)); - } - - /// addFrameIndexOperand - Add an abstract frame index to the instruction - /// - void addFrameIndexOperand(unsigned Idx) { -addOperand(MachineOperand::CreateFI(Idx)); - } - - /// addConstantPoolndexOperand - Add a constant pool object index to the - /// instruction. - /// - void addConstantPoolIndexOperand(unsigned Idx, int Offset) { -addOperand(MachineOperand::CreateCPI(Idx, Offset)); - } - - /// addJumpTableIndexOperand - Add a jump table object index to the - /// instruction. - /// - void addJumpTableIndexOperand(unsigned Idx) { -addOperand(MachineOperand::CreateJTI(Idx)); - } - - void addGlobalAddressOperand(GlobalValue *GV, int Offset) { -addOperand(MachineOperand::CreateGA(GV, Offset)); - } - - /// addExternalSymbolOperand - Add an external symbol operand to this instr - /// - void addExternalSymbolOperand(const char *SymName, int Offset = 0) { -addOperand(MachineOperand::CreateES(SymName, Offset)); - } //======// // Accessors used to modify instructions in place. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45439 - /llvm/trunk/include/llvm/CodeGen/MachineInstr.h
Author: lattner Date: Sat Dec 29 19:11:43 2007 New Revision: 45439 URL: http://llvm.org/viewvc/llvm-project?rev=45439&view=rev Log: remove unneeded #includes. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45439&r1=45438&r2=45439&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 19:11:43 2007 @@ -16,9 +16,7 @@ #ifndef LLVM_CODEGEN_MACHINEINSTR_H #define LLVM_CODEGEN_MACHINEINSTR_H -#include "llvm/ADT/iterator" #include "llvm/Support/DataTypes.h" -#include "llvm/Support/Streams.h" #include #include #include @@ -82,7 +80,6 @@ unsigned char subReg; } auxInfo; - MachineOperand() {} void print(std::ostream &os) const; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45444 - in /llvm/trunk/lib/Target/X86: X86InstrInfo.cpp X86InstrInfo.h
Author: void Date: Sat Dec 29 21:18:58 2007 New Revision: 45444 URL: http://llvm.org/viewvc/llvm-project?rev=45444&view=rev Log: If we have a load of a global address that's not modified during the function, then go ahead and hoist it out of the loop. This is the result: $ cat a.c volatile int G; int A(int N) { for (; N > 0; --N) G++; } $ llc -o - -relocation-model=pic _A: .. LBB1_2: # bb movlL_G$non_lazy_ptr-"L1$pb"(%eax), %esi incl(%esi) incl%edx cmpl%ecx, %edx jne LBB1_2 # bb .. $ llc -o - -relocation-model=pic -machine-licm _A: .. movlL_G$non_lazy_ptr-"L1$pb"(%eax), %eax LBB1_2: # bb incl(%eax) incl%edx cmpl%ecx, %edx jne LBB1_2 # bb .. I'm limiting this to the MOV32rm x86 instruction for now. Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp llvm/trunk/lib/Target/X86/X86InstrInfo.h Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp?rev=45444&r1=45443&r2=45444&view=diff == --- llvm/trunk/lib/Target/X86/X86InstrInfo.cpp (original) +++ llvm/trunk/lib/Target/X86/X86InstrInfo.cpp Sat Dec 29 21:18:58 2007 @@ -144,6 +144,37 @@ return true; } +/// isDefinedInEntryBlock - Goes through the entry block to see if the given +/// virtual register is indeed defined in the entry block. +/// +bool X86InstrInfo::isDefinedInEntryBlock(const MachineBasicBlock &Entry, + unsigned VReg) const { + assert(MRegisterInfo::isVirtualRegister(VReg) && + "Map only holds virtual registers!"); + MachineInstrMap.grow(VReg); + if (MachineInstrMap[VReg]) return true; + + MachineBasicBlock::const_iterator I = Entry.begin(), E = Entry.end(); + + for (; I != E; ++I) { +const MachineInstr &MI = *I; +unsigned NumOps = MI.getNumOperands(); + +for (unsigned i = 0; i < NumOps; ++i) { + const MachineOperand &MO = MI.getOperand(i); + + if(MO.isRegister() && MO.isDef() && + MRegisterInfo::isVirtualRegister(MO.getReg()) && + MO.getReg() == VReg) { +MachineInstrMap[VReg] = &MI; +return true; + } +} + } + + return false; +} + /// isReallySideEffectFree - If the M_MAY_HAVE_SIDE_EFFECTS flag is set, this /// method is called to determine if the specific instance of this instruction /// has side effects. This is useful in cases of instructions, like loads, which @@ -152,10 +183,25 @@ bool X86InstrInfo::isReallySideEffectFree(MachineInstr *MI) const { switch (MI->getOpcode()) { default: break; + case X86::MOV32rm: +if (MI->getOperand(1).isRegister()) { + unsigned Reg = MI->getOperand(1).getReg(); + + // Loads from global addresses which aren't redefined in the function are + // side effect free. + if (MRegisterInfo::isVirtualRegister(Reg) && + isDefinedInEntryBlock(MI->getParent()->getParent()->front(), Reg) && + MI->getOperand(2).isImmediate() && + MI->getOperand(3).isRegister() && + MI->getOperand(4).isGlobalAddress() && + MI->getOperand(2).getImmedValue() == 1 && + MI->getOperand(3).getReg() == 0) +return true; +} +// FALLTHROUGH case X86::MOV8rm: case X86::MOV16rm: case X86::MOV16_rm: - case X86::MOV32rm: case X86::MOV32_rm: case X86::MOV64rm: case X86::LD_Fp64m: @@ -166,8 +212,10 @@ case X86::MMX_MOVD64rm: case X86::MMX_MOVQ64rm: // Loads from constant pools have no side effects -return MI->getOperand(1).isRegister() && MI->getOperand(2).isImmediate() && - MI->getOperand(3).isRegister() && MI->getOperand(4).isConstantPoolIndex() && +return MI->getOperand(1).isRegister() && + MI->getOperand(2).isImmediate() && + MI->getOperand(3).isRegister() && + MI->getOperand(4).isConstantPoolIndex() && MI->getOperand(1).getReg() == 0 && MI->getOperand(2).getImmedValue() == 1 && MI->getOperand(3).getReg() == 0; Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.h?rev=45444&r1=45443&r2=45444&view=diff == --- llvm/trunk/lib/Target/X86/X86InstrInfo.h (original) +++ llvm/trunk/lib/Target/X86/X86InstrInfo.h Sat Dec 29 21:18:58 2007 @@ -16,6 +16,8 @@ #include "llvm/Target/TargetInstrInfo.h" #include "X86RegisterInfo.h" +#include "llvm/ADT/IndexedMap.h" +#include "llvm/Target/MRegisterInfo.h" namespace llvm { class X86RegisterInfo; @@ -223,6 +225,13 @@ class X86InstrInfo : public TargetInstrInfo { X86TargetMachine &TM; const X86RegisterInfo RI; + mutable IndexedMap MachineInstrMap; + + /// isDefinedInEntryBlock - Goes through the entry block to see if t
[llvm-commits] [llvm] r45445 - in /llvm/trunk/include/llvm/CodeGen: MachineInstr.h MachineOperand.h
Author: lattner Date: Sat Dec 29 22:40:25 2007 New Revision: 45445 URL: http://llvm.org/viewvc/llvm-project?rev=45445&view=rev Log: split machineoperand out into its own header file. Added: llvm/trunk/include/llvm/CodeGen/MachineOperand.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45445&r1=45444&r2=45445&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sat Dec 29 22:40:25 2007 @@ -16,349 +16,17 @@ #ifndef LLVM_CODEGEN_MACHINEINSTR_H #define LLVM_CODEGEN_MACHINEINSTR_H -#include "llvm/Support/DataTypes.h" -#include -#include -#include +#include "llvm/CodeGen/MachineOperand.h" namespace llvm { -class Value; -class Function; -class MachineBasicBlock; class TargetInstrDescriptor; class TargetMachine; -class GlobalValue; template struct ilist_traits; template struct ilist; //===--===// -// class MachineOperand -// -// Representation of each machine instruction operand. -// -struct MachineOperand { - enum MachineOperandType { -MO_Register,// Register operand. -MO_Immediate, // Immediate Operand -MO_MachineBasicBlock, // MachineBasicBlock reference -MO_FrameIndex, // Abstract Stack Frame Index -MO_ConstantPoolIndex, // Address of indexed Constant in Constant Pool -MO_JumpTableIndex, // Address of indexed Jump Table for switch -MO_ExternalSymbol, // Name of external global symbol -MO_GlobalAddress// Address of a global value - }; - -private: - union { -GlobalValue *GV; // For MO_GlobalAddress. -MachineBasicBlock *MBB; // For MO_MachineBasicBlock. -const char *SymbolName; // For MO_ExternalSymbol. -unsigned RegNo; // For MO_Register. -int64_t immedVal; // For MO_Immediate and MO_*Index. - } contents; - - MachineOperandType opType:8; // Discriminate the union. - bool IsDef : 1; // True if this is a def, false if this is a use. - bool IsImp : 1; // True if this is an implicit def or use. - - bool IsKill : 1; // True if this is a reg use and the reg is dead - // immediately after the read. - bool IsDead : 1; // True if this is a reg def and the reg is dead - // immediately after the write. i.e. A register - // that is defined but never used. - - /// auxInfo - auxiliary information used by the MachineOperand - union { -/// offset - Offset to address of global or external, only valid for -/// MO_GlobalAddress, MO_ExternalSym and MO_ConstantPoolIndex -int offset; - -/// subReg - SubRegister number, only valid for MO_Register. A value of 0 -/// indicates the MO_Register has no subReg. -unsigned char subReg; - } auxInfo; - - MachineOperand() {} - - void print(std::ostream &os) const; - void print(std::ostream *os) const { if (os) print(*os); } - -public: - MachineOperand(const MachineOperand &M) { -*this = M; - } - - ~MachineOperand() {} - - /// getType - Returns the MachineOperandType for this operand. - /// - MachineOperandType getType() const { return opType; } - - /// Accessors that tell you what kind of MachineOperand you're looking at. - /// - bool isRegister() const { return opType == MO_Register; } - bool isImmediate() const { return opType == MO_Immediate; } - bool isMachineBasicBlock() const { return opType == MO_MachineBasicBlock; } - bool isFrameIndex() const { return opType == MO_FrameIndex; } - bool isConstantPoolIndex() const { return opType == MO_ConstantPoolIndex; } - bool isJumpTableIndex() const { return opType == MO_JumpTableIndex; } - bool isGlobalAddress() const { return opType == MO_GlobalAddress; } - bool isExternalSymbol() const { return opType == MO_ExternalSymbol; } - - int64_t getImm() const { -assert(isImmediate() && "Wrong MachineOperand accessor"); -return contents.immedVal; - } - - int64_t getImmedValue() const { -assert(isImmediate() && "Wrong MachineOperand accessor"); -return contents.immedVal; - } - MachineBasicBlock *getMBB() const { -assert(isMachineBasicBlock() && "Wrong MachineOperand accessor"); -return contents.MBB; - } - MachineBasicBlock *getMachineBasicBlock() const { -assert(isMachineBasicBlock() && "Wrong MachineOperand accessor"); -return contents.MBB; - } - void setMachineBasicBlock(MachineBasicBlock *MBB) { -assert(isMachineBasicBlock() && "Wrong MachineOperand accessor"); -contents.MBB = MBB; - } - int getFrameIndex() const { -asser
[llvm-commits] [llvm] r45446 - /llvm/trunk/test/CFrontend/2007-09-20-GcrootAttribute.c
Author: gordon Date: Sat Dec 29 23:45:49 2007 New Revision: 45446 URL: http://llvm.org/viewvc/llvm-project?rev=45446&view=rev Log: Strengthening this test so it fails in release mode. Modified: llvm/trunk/test/CFrontend/2007-09-20-GcrootAttribute.c Modified: llvm/trunk/test/CFrontend/2007-09-20-GcrootAttribute.c URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CFrontend/2007-09-20-GcrootAttribute.c?rev=45446&r1=45445&r2=45446&view=diff == --- llvm/trunk/test/CFrontend/2007-09-20-GcrootAttribute.c (original) +++ llvm/trunk/test/CFrontend/2007-09-20-GcrootAttribute.c Sat Dec 29 23:45:49 2007 @@ -1,5 +1,6 @@ // RUN: %llvmgcc -S -emit-llvm %s -o - | grep llvm.gcroot // RUN: %llvmgcc -S -emit-llvm %s -o - | grep llvm.gcroot | count 6 +// RUN: %llvmgcc -S -emit-llvm %s -o - | llvm-as typedef struct foo_s { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm-gcc-4.0] r45447 - /llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
Author: gordon Date: Sun Dec 30 00:03:23 2007 New Revision: 45447 URL: http://llvm.org/viewvc/llvm-project?rev=45447&view=rev Log: Fix up llvm-gcc translation for GC roots. Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp?rev=45447&r1=45446&r2=45447&view=diff == --- llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp (original) +++ llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp Sun Dec 30 00:03:23 2007 @@ -1452,6 +1452,8 @@ // Emits code to do something for a type attribute void TreeToLLVM::EmitTypeGcroot(Value *V, tree decl) { + // GC intrinsics can only be used in functions which specify a collector. + Fn->setCollector("shadow-stack"); Function *gcrootFun = Intrinsic::getDeclaration(TheModule, Intrinsic::gcroot); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm-gcc-4.2] r45448 - /llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Author: gordon Date: Sun Dec 30 00:10:20 2007 New Revision: 45448 URL: http://llvm.org/viewvc/llvm-project?rev=45448&view=rev Log: Fix up llvm-gcc translation for GC roots. Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=45448&r1=45447&r2=45448&view=diff == --- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original) +++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Sun Dec 30 00:10:20 2007 @@ -1392,6 +1392,8 @@ // Emits code to do something for a type attribute void TreeToLLVM::EmitTypeGcroot(Value *V, tree decl) { + // GC intrinsics can only be used in functions which specify a collector. + Fn->setCollector("shadow-stack"); Function *gcrootFun = Intrinsic::getDeclaration(TheModule, Intrinsic::gcroot); ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] [llvm] r45449 - in /llvm/trunk: include/llvm/CodeGen/MachineInstr.h include/llvm/CodeGen/MachineOperand.h lib/CodeGen/MachineInstr.cpp
Author: lattner Date: Sun Dec 30 00:11:04 2007 New Revision: 45449 URL: http://llvm.org/viewvc/llvm-project?rev=45449&view=rev Log: make machine operands fatter: give each one an up-pointer to the machineinstr that owns it. Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h llvm/trunk/include/llvm/CodeGen/MachineOperand.h llvm/trunk/lib/CodeGen/MachineInstr.cpp Modified: llvm/trunk/include/llvm/CodeGen/MachineInstr.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineInstr.h?rev=45449&r1=45448&r2=45449&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineInstr.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineInstr.h Sun Dec 30 00:11:04 2007 @@ -166,11 +166,15 @@ bool isImpReg = Op.isRegister() && Op.isImplicit(); assert((isImpReg || !OperandsComplete()) && "Trying to add an operand to a machine instr that is already done!"); -if (isImpReg || NumImplicitOps == 0) // This is true most of the time. +if (isImpReg || NumImplicitOps == 0) {// This is true most of the time. Operands.push_back(Op); -else + Operands.back().ParentMI = this; +} else { // Insert a real operand before any implicit ones. - Operands.insert(Operands.begin()+Operands.size()-NumImplicitOps, Op); + unsigned OpNo = Operands.size()-NumImplicitOps; + Operands.insert(Operands.begin()+OpNo, Op); + Operands[OpNo].ParentMI = this; +} } //======// Modified: llvm/trunk/include/llvm/CodeGen/MachineOperand.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/MachineOperand.h?rev=45449&r1=45448&r2=45449&view=diff == --- llvm/trunk/include/llvm/CodeGen/MachineOperand.h (original) +++ llvm/trunk/include/llvm/CodeGen/MachineOperand.h Sun Dec 30 00:11:04 2007 @@ -23,7 +23,8 @@ class MachineBasicBlock; class GlobalValue; - + class MachineInstr; + /// MachineOperand class - Representation of each machine instruction operand. /// class MachineOperand { @@ -48,6 +49,9 @@ int64_t immedVal; // For MO_Immediate and MO_*Index. } contents; + /// ParentMI - This is the instruction that this operand is embedded into. + MachineInstr *ParentMI; + MachineOperandType opType:8; // Discriminate the union. bool IsDef : 1; // True if this is a def, false if this is a use. bool IsImp : 1; // True if this is an implicit def or use. @@ -69,7 +73,7 @@ unsigned char subReg; } auxInfo; - MachineOperand() {} + MachineOperand() : ParentMI(0) {} void print(std::ostream &os) const; void print(std::ostream *os) const { if (os) print(*os); } @@ -335,6 +339,7 @@ IsDead = MO.IsDead; opType = MO.opType; auxInfo = MO.auxInfo; +ParentMI = MO.ParentMI; return *this; } Modified: llvm/trunk/lib/CodeGen/MachineInstr.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/MachineInstr.cpp?rev=45449&r1=45448&r2=45449&view=diff == --- llvm/trunk/lib/CodeGen/MachineInstr.cpp (original) +++ llvm/trunk/lib/CodeGen/MachineInstr.cpp Sun Dec 30 00:11:04 2007 @@ -85,8 +85,10 @@ Operands.reserve(MI.getNumOperands()); // Add operands - for (unsigned i = 0; i != MI.getNumOperands(); ++i) + for (unsigned i = 0; i != MI.getNumOperands(); ++i) { Operands.push_back(MI.getOperand(i)); +Operands.back().ParentMI = this; + } // Set parent, next, and prev to null parent = 0; @@ -97,6 +99,10 @@ MachineInstr::~MachineInstr() { LeakDetector::removeGarbageObject(this); +#ifndef NDEBUG + for (unsigned i = 0, e = Operands.size(); i != e; ++i) +assert(Operands[i].ParentMI == this && "ParentMI mismatch!"); +#endif } /// getOpcode - Returns the opcode of this MachineInstr. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits