Evan Cheng
efd9b4240f
- Move CodeModel from a TargetMachine global option to MCCodeGenInfo.
...
- Introduce JITDefault code model. This tells targets to set different default
code model for JIT. This eliminates the ugly hack in TargetMachine where
code model is changed after construction.
llvm-svn: 135580
2011-07-20 07:51:56 +00:00
Evan Cheng
2129f59637
Introduce MCCodeGenInfo, which keeps information that can affect codegen
...
(including compilation, assembly). Move relocation model Reloc::Model from
TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine.
llvm-svn: 135468
2011-07-19 06:37:02 +00:00
Evan Cheng
67c033e6b8
Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for
...
better location welcome).
llvm-svn: 135438
2011-07-18 22:29:13 +00:00
Chris Lattner
229907cd11
land David Blaikie's patch to de-constify Type, with a few tweaks.
...
llvm-svn: 135375
2011-07-18 04:54:35 +00:00
Jay Foad
5bd375a6cc
Convert CallInst and InvokeInst APIs to use ArrayRef.
...
llvm-svn: 135265
2011-07-15 08:37:34 +00:00
Dylan Noblesmith
0bd34fbd01
ExecutionEngine: move createJIT() definition (v2)
...
As an ExecutionEngine class function, its definition
really belongs in ExecutionEngine.cpp, not JIT.cpp.
llvm-svn: 131320
2011-05-13 22:02:53 +00:00
Dylan Noblesmith
8418fdcd59
ExecutionEngine: push TargetMachine creation into clients (v2)
...
In particular, into EngineBuilder. This should only impact
the private API between the EE and EB classes, not external
clients, since JITCtor and MCJITCtor are both protected members.
llvm-svn: 131317
2011-05-13 21:51:29 +00:00
Dylan Noblesmith
1756faa472
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication (v2)
...
This prepares for making JITCtor/MCJITCtor take a
TargetMachine* directly from clients like EngineBuilder.
llvm-svn: 131316
2011-05-13 21:36:16 +00:00
Jakob Stoklund Olesen
58799a35e5
Revert ExecutionEngine patches, they either failed to build or broke unit tests.
...
Please ensure the build is clean and tests are passing when recommitting.
llvm-svn: 131044
2011-05-07 03:12:54 +00:00
Dylan Noblesmith
4c261a2831
ExecutionEngine: delete duplicated files
...
Forgot to `svn rm` these in revisions 131025 / 131029.
llvm-svn: 131030
2011-05-06 22:24:04 +00:00
Dylan Noblesmith
8c0487006e
ExecutionEngine: move createJIT() definition
...
As an ExecutionEngine class function, its definition
really belongs in ExecutionEngine.cpp, not JIT.cpp.
llvm-svn: 131027
2011-05-06 22:07:14 +00:00
Dylan Noblesmith
ab6bd20da9
ExecutionEngine: push TargetMachine creation into clients
...
In particular, into EngineBuilder. This should only impact
the private API between the EE and EB classes, not external
clients, since JITCtor and MCJITCtor are both protected members.
llvm-svn: 131026
2011-05-06 22:06:22 +00:00
Dylan Noblesmith
fed7f0b3a0
ExecutionEngine: fix JIT/MCJIT selectTarget() duplication
...
This prepares for making JITCtor/MCJITCtor take a
TargetMachine* directly from clients like EngineBuilder.
llvm-svn: 131025
2011-05-06 22:05:43 +00:00
Douglas Gregor
dd8061e09f
Fix a C++0x portability issue with std::make_pair. Explicitly providing template arguments no longer works when the call arguments are lvalues.
...
llvm-svn: 130513
2011-04-29 16:57:12 +00:00
Jay Foad
1a180156b6
Remove unused STL header includes.
...
llvm-svn: 130068
2011-04-23 19:53:52 +00:00
Chris Lattner
0ab5e2cded
Fix a ton of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Jay Foad
3b422a1249
Like the coding standards say, do not use "using namespace std".
...
llvm-svn: 129435
2011-04-13 12:46:01 +00:00
Jim Grosbach
e14460ba37
Trailing whitespace.
...
llvm-svn: 128086
2011-03-22 15:21:58 +00:00
Jim Grosbach
c91fa6d19f
Tidy up. Whitespace and 80 column.
...
llvm-svn: 127721
2011-03-16 01:21:55 +00:00
Jim Grosbach
4ae30b6785
Trailing whitespae.
...
llvm-svn: 127691
2011-03-15 20:25:54 +00:00
Eric Christopher
f045b7ab45
Support unregistering exception frames of functions when they are removed.
...
Patch by Johannes Schaub!
Fixes PR8548
llvm-svn: 127047
2011-03-04 23:37:39 +00:00
Anton Korobeynikov
2f93128109
Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.
...
llvm-svn: 123170
2011-01-10 12:39:04 +00:00
Michael J. Spencer
447762da85
Merge System into Support.
...
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Anton Korobeynikov
14ee344944
Move getInitialFrameState() to TargetFrameInfo
...
llvm-svn: 119754
2010-11-18 23:25:52 +00:00
Daniel Dunbar
4a92fcb9fd
Fix some more 80-col violas.
...
llvm-svn: 118959
2010-11-13 00:55:45 +00:00
Chandler Carruth
82058c05f8
Move the remaining attribute macros to systematic names based on the attribute
...
name and prefixed with 'LLVM_'.
llvm-svn: 117203
2010-10-23 08:40:19 +00:00
Duncan Sands
abc7901e4e
Fix the cleanup process of exception information in JIT. Now JIT
...
deregisters registered by it FDE structures allowing consecutive
JIT runs to succeed. Patch by Yuri. Fixes PR8285.
llvm-svn: 117004
2010-10-21 08:57:29 +00:00
Michael J. Spencer
93c9b2ea93
Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."
...
This reverts commit r113632
Conflicts:
cmake/modules/AddLLVM.cmake
llvm-svn: 113819
2010-09-13 23:59:48 +00:00
Michael J. Spencer
dc38d36ccb
CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.
...
llvm-svn: 113632
2010-09-10 21:14:25 +00:00
NAKAMURA Takumi
fe933eb8f6
Fix a comment.
...
llvm-svn: 112535
2010-08-30 21:54:03 +00:00
NAKAMURA Takumi
9c0e59de64
EE/JIT: Do not invoke parent's ctors/dtors from main()! (PR3897)
...
On Mingw and Cygwin, the symbol __main is resolved to
callee's(eg. tools/lli) one, to invoke wrong duplicated ctors
(and register wrong callee's dtors with atexit(3)).
We expect, by callee, ExecutionEngine::runStaticConstructorsDestructors()
is called before ExecutionEngine::runFunctionAsMain() is called.
llvm-svn: 112474
2010-08-30 14:00:29 +00:00
Chris Lattner
c3847a8134
remove some dead code.
...
llvm-svn: 111791
2010-08-23 03:12:06 +00:00
Nick Lewycky
83a09f0b4f
When creating a JIT, try to load the program so that we can resolve symbols
...
against it. This affects Windows.
llvm-svn: 111240
2010-08-17 16:19:18 +00:00
Nick Lewycky
ec846ac2cc
Stop the JIT from refusing to work just because the program it was compiled into
...
was built with -static.
llvm-svn: 110564
2010-08-09 07:20:20 +00:00
Bob Wilson
f23a06c2e4
Don't call __register_frame from the JIT on systems that use setjmp/longjmp
...
exception handling. Also fix an extra underscore typo in one instance of
"__ARM_EABI__". Radar 8236264.
llvm-svn: 109451
2010-07-26 21:58:00 +00:00
Chris Lattner
aba8ee38c2
remove the dwarf sizing stuff which is now dead, it was
...
"yet another" copy of the dwarf EH emission code that was
copied, pasted and slightly hacked up.
llvm-svn: 109169
2010-07-22 21:20:39 +00:00
Chris Lattner
8f3adc9057
remove the JIT "NeedsExactSize" feature and supporting logic.
...
llvm-svn: 109167
2010-07-22 21:17:55 +00:00
Eli Friedman
17c5a23559
Get rid of a bunch of duplicated ELF enum values.
...
llvm-svn: 108520
2010-07-16 07:53:29 +00:00
Duncan Sands
41b4a6b36a
Convert some tab stops into spaces.
...
llvm-svn: 108130
2010-07-12 08:16:59 +00:00
Chris Lattner
b6df00c29a
first part of JIT support for address of labels, part of PR7264,
...
patch by Yuri!
llvm-svn: 108107
2010-07-11 23:07:28 +00:00
Duncan Sands
211427bda9
Remove the -enable-sjlj-eh option, which doesn't do anything.
...
Remove the -enable-eh option which is only used by the JIT,
and replace it with -jit-enable-eh.
llvm-svn: 102865
2010-05-02 15:36:26 +00:00
Jeffrey Yasskin
0a1513902f
Fix the OProfileJITEventListener build after r101844 removed
...
MachineFunction::DefaultDebugLoc. We now use the same technique as
DwarfDebug::beginFunction to find the starting line number for a
function.
llvm-svn: 102679
2010-04-30 00:16:10 +00:00
Bill Wendling
268195e1d4
Don't rely upon the MCSymbol "isDefined" method to indicate if a label has been
...
emitted or not. The JIT doesn't set that. Look it up in the label location table
instead.
llvm-svn: 101686
2010-04-18 00:56:05 +00:00
Bill Wendling
47d742000b
Formatting changes. No functionality change.
...
llvm-svn: 101685
2010-04-18 00:52:08 +00:00
Dan Gohman
1f0f2142cc
Fix -Wcast-qual warnings.
...
llvm-svn: 101655
2010-04-17 17:42:52 +00:00
Bill Wendling
929f3c0927
The JIT calls TidyLandingPads to tidy up the landing pads. However, because the
...
JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
section for the MCSymbol is never set. And thus the MCSymbol for the EH label
isn't marked as "defined". Because of that, TidyLandingPads removes the needed
landing pads from the JIT output. This breaks EH for every JIT program.
This is a work-around for this limitation. We pass in the label locations
map. If the label has a non-zero value, then it was "emitted" by the JIT and
TidyLandingPads shouldn't remove that label.
A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
upon the section being set to determine if it's defined or not.
llvm-svn: 101453
2010-04-16 08:46:10 +00:00
Dan Gohman
bcaf681cde
Add const qualifiers to CodeGen's use of LLVM IR constructs.
...
llvm-svn: 101334
2010-04-15 01:51:59 +00:00
Nicolas Geoffray
99bfbca6ec
Don't use DILocation when processing a DebugLoc.
...
llvm-svn: 101294
2010-04-14 22:06:37 +00:00
Benjamin Kramer
a6769269f3
Use twines to simplify calls to report_fatal_error. For code size and readability.
...
llvm-svn: 100756
2010-04-08 10:44:28 +00:00
Chris Lattner
2104b8d36e
rename llvm::llvm_report_error -> llvm::report_fatal_error
...
llvm-svn: 100709
2010-04-07 22:58:41 +00:00