Nate Begeman
bfaaaa6e0f
Properly mangles symbol table names
...
Supports constant pools
Supports relocations to jump tables
Supports relocations within the data segment (global = address of global)
Allocates memory in a non-hacky for all non-code objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32430 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 02:20:45 +00:00
Nate Begeman
5381baa051
Add a default relocation type, and allow clients to set the ConstantVal
...
field after creation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32429 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 02:19:29 +00:00
Chris Lattner
36c2451ddb
fix typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32428 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 02:16:58 +00:00
Chris Lattner
9f09fa2900
Update note, with the SROA change, we now produce:
...
_pairtest:
movl 8(%esp), %eax
movl 4(%esp), %ecx
movd %eax, %xmm0
movd %ecx, %xmm1
addss %xmm0, %xmm1
movl 12(%esp), %eax
movss %xmm1, (%eax)
ret
instead of:
_pairtest:
subl $12, %esp
movl 20(%esp), %eax
movl %eax, 4(%esp)
movl 16(%esp), %eax
movl %eax, (%esp)
movss (%esp), %xmm0
addss 4(%esp), %xmm0
movl 24(%esp), %eax
movss %xmm0, (%eax)
addl $12, %esp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32427 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 01:20:25 +00:00
Chris Lattner
509f85140c
trunc to integer, not to FP.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32426 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 01:17:00 +00:00
Chris Lattner
d36a76d655
the xform is done by scalarrepl not the code generator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32425 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 01:03:32 +00:00
Chris Lattner
b4115ac8f3
this is done
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32424 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 01:01:03 +00:00
Chris Lattner
a5546fbd10
Evan implemented the machineinstr improvements.
...
The rot example works if the type is cast to ubyte.
Move sroa examples together and upgrade them to HEAD syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32423 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 00:44:03 +00:00
Chris Lattner
1dbea1598c
implement promotion of unions containing two packed types of the same width.
...
This implements Transforms/ScalarRepl/union-packed.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32422 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 00:35:08 +00:00
Chris Lattner
e629ff0be8
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32421 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 00:34:27 +00:00
Chris Lattner
82e8a8ffe4
clarify some comments, simplify some checks, fix:
...
Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32420 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 00:12:31 +00:00
Chris Lattner
5bd2db38f8
testcase for a regression introduced by the recent cast patch
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32419 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 00:12:07 +00:00
Chris Lattner
ae6a305094
* Eliminate calls to CastInst::createInferredCast.
...
* Add support for promoting unions with fp values in them. This produces
our new int<->fp bitcast instructions, implementing
Transforms/ScalarRepl/union-fp-int.ll
As an example, this allows us to compile this:
union intfloat { int i; float f; };
float invsqrt(const float arg_x) {
union intfloat x = { .f = arg_x };
const float xhalf = arg_x * 0.5f;
x.i = 0x5f3759df - (x.i >> 1);
return x.f * (1.5f - xhalf * x.f * x.f);
}
into:
_invsqrt:
movss 4(%esp), %xmm0
movd %xmm0, %eax
sarl %eax
movl $1597463007, %ecx
subl %eax, %ecx
movd %ecx, %xmm1
mulss LCPI1_0, %xmm0
mulss %xmm1, %xmm0
movss LCPI1_1, %xmm2
mulss %xmm1, %xmm0
subss %xmm0, %xmm2
movl 8(%esp), %eax
mulss %xmm2, %xmm1
movss %xmm1, (%eax)
ret
instead of:
_invsqrt:
subl $4, %esp
movss 8(%esp), %xmm0
movss %xmm0, (%esp)
movl (%esp), %eax
movl $1597463007, %ecx
sarl %eax
subl %eax, %ecx
movl %ecx, (%esp)
mulss LCPI1_0, %xmm0
movss (%esp), %xmm1
mulss %xmm1, %xmm0
mulss %xmm1, %xmm0
movss LCPI1_1, %xmm2
subss %xmm0, %xmm2
mulss %xmm2, %xmm1
movl 12(%esp), %eax
movss %xmm1, (%eax)
addl $4, %esp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32418 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 23:56:50 +00:00
Chris Lattner
1846783d93
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32417 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 23:52:28 +00:00
Reid Spencer
afa22e2363
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32416 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 23:29:19 +00:00
Anton Korobeynikov
d27a258d2d
Cleaned setjmp/longjmp lowering interfaces. Now we're producing right
...
code (both asm & cbe) for Mingw32 target.
Removed autoconf checks for underscored versions of setjmp/longjmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32415 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 23:12:42 +00:00
Chris Lattner
ca3aa26c20
make statistics and timing info print even if the JIT'd program calls exit
...
instead of returning from main.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32414 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 19:01:52 +00:00
Jim Laskey
0eadd73bd7
Reverting until finding the cause of secondary bugs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32413 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 13:09:42 +00:00
Jim Laskey
630def54f4
__PPC64CompilationCallback code was allowing registers to be clobbered by stub.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32412 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 12:13:31 +00:00
Chris Lattner
87f28e87d7
fix PR1039 by making timing info be destroyed by llvm_shutdown, not by
...
static dtors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32411 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 07:40:46 +00:00
Reid Spencer
4413672aa5
Don't bother with setting the path before running llvm-gcc4, it doesn't
...
need it like llvm-gcc3 did.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32410 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 04:56:38 +00:00
Reid Spencer
281722dab8
For PR739:
...
Define a DESTDIR variable and use it to define the various install
locations. This allows DESTDIR to be overridden on the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32409 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 04:09:19 +00:00
Rafael Espindola
796cbd87b4
.align is in bits
...
.comm is in bytes
:-(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 02:53:14 +00:00
Rafael Espindola
3e69a7e527
fix test/Regression/CodeGen/X86/weak.ll
...
if a variable has no initialization, I->getInitializer() will fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32407 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 23:14:08 +00:00
Rafael Espindola
5b24426375
use a . instead of a % in the grep expression
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32406 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 21:21:06 +00:00
Reid Spencer
5fe27e7b99
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32405 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 19:41:25 +00:00
Reid Spencer
7969681c8b
Fix test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll
...
Do not upgrade casts of bool to bool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32404 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 19:40:41 +00:00
Reid Spencer
ed819df5ef
Fix the run line and make this test more specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32403 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 19:39:56 +00:00
Reid Spencer
c96660aef7
Add a check to catch an incorrect upgrade.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32402 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 19:35:43 +00:00
Reid Spencer
187ccf8d31
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32400 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 16:57:22 +00:00
Reid Spencer
a00c5a6d87
When upgrading cast to bool to a setne, generate icmp ne instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32399 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 16:56:55 +00:00
Reid Spencer
ee2c7b08c5
Too soon to commit, revert.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32397 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 05:13:50 +00:00
Reid Spencer
30e6c63486
New test cases for regressions in the SetCC -> ICmp patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32396 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 05:13:01 +00:00
Reid Spencer
2232a80ef1
Allow the input of the test program to be specified.
...
Don't generate the reference output for each comparison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 04:42:33 +00:00
Evan Cheng
1a8f1fe676
Preliminary soft float support.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32394 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 02:42:38 +00:00
Evan Cheng
c9ab2f39ce
Added option -soft-float to generate SW fp library calls instead of fp instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32393 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 02:41:30 +00:00
Bill Wendling
4ad6d61cb7
Fixed some formatting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32392 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 01:35:43 +00:00
Bill Wendling
0f7c10d7b6
Another example of using the llvm IO streams.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32391 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 01:27:51 +00:00
Bill Wendling
7f564c02cf
Add documentation for how to use the new LLVM streams.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32390 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 01:20:34 +00:00
Devang Patel
298feadd7a
Analysis resolver now manages AnalysisImpls for the given patch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32389 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 01:11:34 +00:00
Devang Patel
5b640e7edc
Top level pass manager keeps track of other managers, so this can be
...
removed now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32388 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 00:09:12 +00:00
Devang Patel
cd520b187a
Use analysis resolver to find the info.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32387 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 00:07:38 +00:00
Devang Patel
c9a6293af7
Do not drop ImmutablePasses on the floor.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32386 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 23:57:43 +00:00
Devang Patel
145e83dc12
Set AnalysisResolver for the passes when they are inserted into
...
pass manager queuer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32385 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 23:53:00 +00:00
Devang Patel
186bf2bc54
Add AnalysisResolver_New.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32384 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 23:52:04 +00:00
Devang Patel
f3dc6d9f95
Add AnalysisResolver_New. It is a replacement for existing
...
AnalysisResolver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32383 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 23:28:54 +00:00
Devang Patel
591b1b7526
Keep track of other pass managers, that are not directly managed by
...
top level manager. Use this info to findAnalysisPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32382 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 23:11:43 +00:00
Devang Patel
c475692c5e
Implement top level FunctionPassManager::run(Function &F)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32381 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 22:57:48 +00:00
Devang Patel
a083e94f79
Do not keep yet another list of pass managers in PassManagerImpl_New.
...
Use one provided by toplevel manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 22:47:25 +00:00
Devang Patel
e61b7478e5
Remove unused schedulePass() parameter.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32379 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 22:34:02 +00:00