Evan Cheng
06d988eaa3
Add -fast command line option to lli. It enables fast codegen path.
...
llvm-svn: 54524
2008-08-08 08:12:06 +00:00
Evan Cheng
7ff05bf541
Add new parameter Fast to createJIT to enable the fast codegen path.
...
llvm-svn: 54523
2008-08-08 08:11:34 +00:00
Evan Cheng
38aa7de6e9
Add skeleton of simple basic block instruction selector.
...
llvm-svn: 54522
2008-08-08 07:27:28 +00:00
Nick Lewycky
248559aaa5
Testcase for r54520.
...
llvm-svn: 54521
2008-08-08 07:00:26 +00:00
Evan Cheng
655fa0fec4
It's not legal to output a GV in a coalesced section if it's used in an ARM PIC relative constantpool.
...
llvm-svn: 54519
2008-08-08 06:56:16 +00:00
Evan Cheng
319548b93c
Fix indentation.
...
llvm-svn: 54518
2008-08-08 06:43:59 +00:00
Nick Lewycky
42a19b6933
Don't crash printing the asm for a ConstantExpr PtrToInt just because the int
...
is narrower than the pointer. This testcase emits:
.byte (((17) - 16) & 255)
llvm-svn: 54517
2008-08-08 06:34:07 +00:00
Bruno Cardoso Lopes
93da7e6924
Support added for ctlz intrinsic, test case added.
...
llvm-svn: 54516
2008-08-08 06:16:31 +00:00
Chris Lattner
cbd160f447
Speed up the passmgr by avoiding heap thrashing on vectors.
...
llvm-svn: 54515
2008-08-08 05:33:04 +00:00
Bruno Cardoso Lopes
70e41caf17
Match raw "psp" triple target, as done by the homebrew toolchain.
...
llvm-svn: 54514
2008-08-08 04:49:42 +00:00
Bruno Cardoso Lopes
6067b44985
[Last] Batch 7 of Mips CodeGen tests
...
llvm-svn: 54512
2008-08-08 04:12:42 +00:00
Bruno Cardoso Lopes
b60eebbab8
Batch 6 of Mips CodeGen tests
...
llvm-svn: 54511
2008-08-08 04:11:30 +00:00
Bruno Cardoso Lopes
9c8b9d4606
Batch 5 of Mips CodeGen tests
...
llvm-svn: 54510
2008-08-08 04:09:57 +00:00
Bruno Cardoso Lopes
32d4b5a44e
Batch 4 of Mips CodeGen tests
...
llvm-svn: 54509
2008-08-08 04:08:30 +00:00
Bruno Cardoso Lopes
118a9e4813
Batch 3 of Mips CodeGen tests
...
llvm-svn: 54508
2008-08-08 04:05:51 +00:00
Bruno Cardoso Lopes
6b9077a5e4
Batch 2 of Mips CodeGen tests
...
llvm-svn: 54507
2008-08-08 04:03:25 +00:00
Bruno Cardoso Lopes
98ab9b334b
Batch 1 of Mips CodeGen tests, more coming...
...
I had a lot of simple local codegen tests and they are now ready to be placed
in test/CodeGen.
llvm-svn: 54506
2008-08-08 03:58:34 +00:00
Dale Johannesen
3b45982c78
Testcases for 54503. One derived from PR 2533, the
...
other from Python.
llvm-svn: 54505
2008-08-08 03:37:11 +00:00
Gabor Greif
0f75ad0a52
use the more precise 'op1' instead of 'var1' since the latter can be misunderstood to not encompass constants
...
llvm-svn: 54490
2008-08-07 21:46:00 +00:00
Bruno Cardoso Lopes
02ff450f13
Added Mips support for DYNAMIC_STACKALLOC
...
Fixed bug in adjustMipsStackFrame, which was breaking
while trying to access a dead stack object index. Also added
one more alignment before fixing the callee saved registers
stack offset adjustment.
llvm-svn: 54485
2008-08-07 19:08:11 +00:00
Bruno Cardoso Lopes
de5161fdf2
Add the remaining fp_round libcalls:
...
FPROUND_F80_F32, FPROUND_PPCF128_F32,
FPROUND_F80_F64, FPROUND_PPCF128_F64
Support for soften float fp_round operands is added, Mips
needs this to round f64->f32.
Also added support to soften float FABS result, Mips doesn't
support double fabs results while in 'single float only' mode.
llvm-svn: 54484
2008-08-07 19:01:24 +00:00
Owen Anderson
d172c15ab0
Do a dominator walk when scheduling copies, rather than a DFS on the CFG. Also, fix a few problems when creating
...
live intervals for temporaries created by phi elimination.
llvm-svn: 54483
2008-08-07 18:28:07 +00:00
Duncan Sands
d7911bfa44
Use correct compiler component names for objc
...
and objc++.
llvm-svn: 54474
2008-08-07 17:59:54 +00:00
Duncan Sands
dee8e7a233
Move tests of the ObjC++ front-end to their own
...
directory: some people (guess who!) may build llvm-gcc
with support for objc but not with support for objc++.
llvm-svn: 54471
2008-08-07 17:48:08 +00:00
Matthijs Kooijman
75b4fc2c84
Let SRETPromotion properly preserve the function name instead of (implicitly)
...
postfixing it with a number.
llvm-svn: 54468
2008-08-07 16:01:23 +00:00
Matthijs Kooijman
d6c1c8a974
Fix SRETPromotion, it was generating functions without returns statements since
...
r53941 (but this was not noticed due to the lack of a basic test for
SRETPromotion).
llvm-svn: 54467
2008-08-07 15:58:09 +00:00
Matthijs Kooijman
d705b2be1f
Add a basic test for the SRETPromotion pass.
...
llvm-svn: 54466
2008-08-07 15:55:18 +00:00
Matthijs Kooijman
0620096c18
Move two tests from SRETPromotion to Inline, since they only call opt -inline.
...
llvm-svn: 54465
2008-08-07 15:36:46 +00:00
Matthijs Kooijman
41536988dd
Add some debug output to SRETPromotion.
...
llvm-svn: 54464
2008-08-07 15:14:04 +00:00
Matthijs Kooijman
62a3c3c11b
Silence a warning.
...
llvm-svn: 54462
2008-08-07 13:36:30 +00:00
Anton Korobeynikov
f4f2a0d0e5
Remove dead forward decl
...
llvm-svn: 54461
2008-08-07 09:55:25 +00:00
Anton Korobeynikov
9dbbd75068
Print section flags ok on platforms, which use '@' as comment string. Fix test.
...
llvm-svn: 54460
2008-08-07 09:55:06 +00:00
Anton Korobeynikov
1c2de10861
Add assertion for easy debugging of missing stuff
...
llvm-svn: 54459
2008-08-07 09:54:40 +00:00
Anton Korobeynikov
04083529df
Switch ARM to new section handling stuff
...
llvm-svn: 54458
2008-08-07 09:54:23 +00:00
Anton Korobeynikov
08faaedc58
Switch Alpha to new section handling stuff
...
llvm-svn: 54457
2008-08-07 09:53:57 +00:00
Anton Korobeynikov
adb9353da3
Use EmitAlignment consistently
...
llvm-svn: 54456
2008-08-07 09:53:38 +00:00
Anton Korobeynikov
adcf3f9313
Cleanup
...
llvm-svn: 54455
2008-08-07 09:53:13 +00:00
Anton Korobeynikov
0e32dffacc
Cleanup
...
llvm-svn: 54454
2008-08-07 09:52:54 +00:00
Anton Korobeynikov
456e940844
Switch IA64 to new section-handling stuff
...
llvm-svn: 54453
2008-08-07 09:52:35 +00:00
Anton Korobeynikov
e0157465b7
Cleanup
...
llvm-svn: 54452
2008-08-07 09:52:13 +00:00
Anton Korobeynikov
8ab2f49536
Provide convenient helpers
...
llvm-svn: 54451
2008-08-07 09:51:54 +00:00
Anton Korobeynikov
1a11e8a6fe
Switch Sparc to new section handling stuff. Refactor printing of module-level GVs significantly.
...
llvm-svn: 54450
2008-08-07 09:51:25 +00:00
Anton Korobeynikov
6c7b43cccd
Add hook for constant pool section selection for darwin.
...
llvm-svn: 54449
2008-08-07 09:51:02 +00:00
Anton Korobeynikov
ef643a4850
Select section for constant pool entries
...
llvm-svn: 54448
2008-08-07 09:50:34 +00:00
Matthijs Kooijman
25cdad59fe
Remove trailing spaces.
...
llvm-svn: 54447
2008-08-07 09:00:46 +00:00
Chris Lattner
02eb94c2d7
Don't verify passes when assertions are disabled.
...
llvm-svn: 54446
2008-08-07 07:34:50 +00:00
Dan Gohman
527ca7e253
Re-enable elimination of unnecessary SUBREG_TO_REG instructions in
...
LowerSubregs, and fix an x86-64 isel bug that this exposed.
SUBREG_TO_REG for x86-64 implicit zero extension is only safe for
isel to generate when the source is known to always have zeros in
the high 32 bits. The EXTRACT_SUBREG instruction does not clear
the high 32 bits.
llvm-svn: 54444
2008-08-07 02:54:50 +00:00
Dan Gohman
a8dbaeb1df
Add an extra example that shouldn't get an and instruction.
...
llvm-svn: 54443
2008-08-07 02:23:06 +00:00
Dale Johannesen
b086d3820d
Rewrite JIT handling of GlobalVariables so they
...
are allocated in the same buffer as the code,
jump tables, etc.
The default JIT memory manager does not handle buffer
overflow well. I didn't introduce this and I'm not
attempting to fix it here, but it is more likely to
be hit now since we're putting more stuff in the
buffer. This affects one test that I know of so far,
MultiSource/Benchmarks/NPB-serial/is.
llvm-svn: 54442
2008-08-07 01:30:15 +00:00
Evan Cheng
0638115a6e
Factor code that finalize PHI nodes, jump tables, etc. out of SelectBasicBlock. No functionality changes.
...
llvm-svn: 54438
2008-08-07 00:43:25 +00:00